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 High-Speed Module"]
28unsafe impl ::core::marker::Send for super::Usbhs {}
29unsafe impl ::core::marker::Sync for super::Usbhs {}
30impl super::Usbhs {
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 = "CPU Bus Wait Register"]
50 #[inline(always)]
51 pub const fn buswait(
52 &self,
53 ) -> &'static crate::common::Reg<self::Buswait_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::Buswait_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(2usize),
57 )
58 }
59 }
60
61 #[doc = "System Configuration Status Register"]
62 #[inline(always)]
63 pub const fn syssts0(
64 &self,
65 ) -> &'static crate::common::Reg<self::Syssts0_SPEC, crate::common::R> {
66 unsafe {
67 crate::common::Reg::<self::Syssts0_SPEC, crate::common::R>::from_ptr(
68 self._svd2pac_as_ptr().add(4usize),
69 )
70 }
71 }
72
73 #[doc = "PLL Status Register"]
74 #[inline(always)]
75 pub const fn pllsta(&self) -> &'static crate::common::Reg<self::Pllsta_SPEC, crate::common::R> {
76 unsafe {
77 crate::common::Reg::<self::Pllsta_SPEC, crate::common::R>::from_ptr(
78 self._svd2pac_as_ptr().add(6usize),
79 )
80 }
81 }
82
83 #[doc = "Device State Control Register 0"]
84 #[inline(always)]
85 pub const fn dvstctr0(
86 &self,
87 ) -> &'static crate::common::Reg<self::Dvstctr0_SPEC, crate::common::RW> {
88 unsafe {
89 crate::common::Reg::<self::Dvstctr0_SPEC, crate::common::RW>::from_ptr(
90 self._svd2pac_as_ptr().add(8usize),
91 )
92 }
93 }
94
95 #[doc = "USB Test Mode Register"]
96 #[inline(always)]
97 pub const fn testmode(
98 &self,
99 ) -> &'static crate::common::Reg<self::Testmode_SPEC, crate::common::RW> {
100 unsafe {
101 crate::common::Reg::<self::Testmode_SPEC, crate::common::RW>::from_ptr(
102 self._svd2pac_as_ptr().add(12usize),
103 )
104 }
105 }
106
107 #[doc = "CFIFO Port Register"]
108 #[inline(always)]
109 pub const fn cfifo(&self) -> &'static crate::common::Reg<self::Cfifo_SPEC, crate::common::RW> {
110 unsafe {
111 crate::common::Reg::<self::Cfifo_SPEC, crate::common::RW>::from_ptr(
112 self._svd2pac_as_ptr().add(20usize),
113 )
114 }
115 }
116
117 #[doc = "CFIFO Port Register L"]
118 #[inline(always)]
119 pub const fn cfifol(
120 &self,
121 ) -> &'static crate::common::Reg<self::Cfifol_SPEC, crate::common::RW> {
122 unsafe {
123 crate::common::Reg::<self::Cfifol_SPEC, crate::common::RW>::from_ptr(
124 self._svd2pac_as_ptr().add(20usize),
125 )
126 }
127 }
128
129 #[doc = "CFIFO Port Register H"]
130 #[inline(always)]
131 pub const fn cfifoh(
132 &self,
133 ) -> &'static crate::common::Reg<self::Cfifoh_SPEC, crate::common::RW> {
134 unsafe {
135 crate::common::Reg::<self::Cfifoh_SPEC, crate::common::RW>::from_ptr(
136 self._svd2pac_as_ptr().add(22usize),
137 )
138 }
139 }
140
141 #[doc = "CFIFO Port Register LL"]
142 #[inline(always)]
143 pub const fn cfifoll(
144 &self,
145 ) -> &'static crate::common::Reg<self::Cfifoll_SPEC, crate::common::RW> {
146 unsafe {
147 crate::common::Reg::<self::Cfifoll_SPEC, crate::common::RW>::from_ptr(
148 self._svd2pac_as_ptr().add(20usize),
149 )
150 }
151 }
152
153 #[doc = "CFIFO Port Register HH"]
154 #[inline(always)]
155 pub const fn cfifohh(
156 &self,
157 ) -> &'static crate::common::Reg<self::Cfifohh_SPEC, crate::common::RW> {
158 unsafe {
159 crate::common::Reg::<self::Cfifohh_SPEC, crate::common::RW>::from_ptr(
160 self._svd2pac_as_ptr().add(23usize),
161 )
162 }
163 }
164
165 #[doc = "D0FIFO Port Register"]
166 #[inline(always)]
167 pub const fn d0fifo(
168 &self,
169 ) -> &'static crate::common::Reg<self::D0Fifo_SPEC, crate::common::RW> {
170 unsafe {
171 crate::common::Reg::<self::D0Fifo_SPEC, crate::common::RW>::from_ptr(
172 self._svd2pac_as_ptr().add(24usize),
173 )
174 }
175 }
176
177 #[doc = "D0FIFO Port Register L"]
178 #[inline(always)]
179 pub const fn d0fifol(
180 &self,
181 ) -> &'static crate::common::Reg<self::D0Fifol_SPEC, crate::common::RW> {
182 unsafe {
183 crate::common::Reg::<self::D0Fifol_SPEC, crate::common::RW>::from_ptr(
184 self._svd2pac_as_ptr().add(24usize),
185 )
186 }
187 }
188
189 #[doc = "D0FIFO Port Register H"]
190 #[inline(always)]
191 pub const fn d0fifoh(
192 &self,
193 ) -> &'static crate::common::Reg<self::D0Fifoh_SPEC, crate::common::RW> {
194 unsafe {
195 crate::common::Reg::<self::D0Fifoh_SPEC, crate::common::RW>::from_ptr(
196 self._svd2pac_as_ptr().add(26usize),
197 )
198 }
199 }
200
201 #[doc = "D0FIFO Port Register LL"]
202 #[inline(always)]
203 pub const fn d0fifoll(
204 &self,
205 ) -> &'static crate::common::Reg<self::D0Fifoll_SPEC, crate::common::RW> {
206 unsafe {
207 crate::common::Reg::<self::D0Fifoll_SPEC, crate::common::RW>::from_ptr(
208 self._svd2pac_as_ptr().add(24usize),
209 )
210 }
211 }
212
213 #[doc = "D0FIFO Port Register HH"]
214 #[inline(always)]
215 pub const fn d0fifohh(
216 &self,
217 ) -> &'static crate::common::Reg<self::D0Fifohh_SPEC, crate::common::RW> {
218 unsafe {
219 crate::common::Reg::<self::D0Fifohh_SPEC, crate::common::RW>::from_ptr(
220 self._svd2pac_as_ptr().add(27usize),
221 )
222 }
223 }
224
225 #[doc = "D1FIFO Port Register"]
226 #[inline(always)]
227 pub const fn d1fifo(
228 &self,
229 ) -> &'static crate::common::Reg<self::D1Fifo_SPEC, crate::common::RW> {
230 unsafe {
231 crate::common::Reg::<self::D1Fifo_SPEC, crate::common::RW>::from_ptr(
232 self._svd2pac_as_ptr().add(28usize),
233 )
234 }
235 }
236
237 #[doc = "D1FIFO Port Register L"]
238 #[inline(always)]
239 pub const fn d1fifol(
240 &self,
241 ) -> &'static crate::common::Reg<self::D1Fifol_SPEC, crate::common::RW> {
242 unsafe {
243 crate::common::Reg::<self::D1Fifol_SPEC, crate::common::RW>::from_ptr(
244 self._svd2pac_as_ptr().add(28usize),
245 )
246 }
247 }
248
249 #[doc = "D1FIFO Port Register H"]
250 #[inline(always)]
251 pub const fn d1fifoh(
252 &self,
253 ) -> &'static crate::common::Reg<self::D1Fifoh_SPEC, crate::common::RW> {
254 unsafe {
255 crate::common::Reg::<self::D1Fifoh_SPEC, crate::common::RW>::from_ptr(
256 self._svd2pac_as_ptr().add(30usize),
257 )
258 }
259 }
260
261 #[doc = "D1FIFO Port Register LL"]
262 #[inline(always)]
263 pub const fn d1fifoll(
264 &self,
265 ) -> &'static crate::common::Reg<self::D1Fifoll_SPEC, crate::common::RW> {
266 unsafe {
267 crate::common::Reg::<self::D1Fifoll_SPEC, crate::common::RW>::from_ptr(
268 self._svd2pac_as_ptr().add(28usize),
269 )
270 }
271 }
272
273 #[doc = "D1FIFO Port Register HH"]
274 #[inline(always)]
275 pub const fn d1fifohh(
276 &self,
277 ) -> &'static crate::common::Reg<self::D1Fifohh_SPEC, crate::common::RW> {
278 unsafe {
279 crate::common::Reg::<self::D1Fifohh_SPEC, crate::common::RW>::from_ptr(
280 self._svd2pac_as_ptr().add(31usize),
281 )
282 }
283 }
284
285 #[doc = "CFIFO Port Select Register"]
286 #[inline(always)]
287 pub const fn cfifosel(
288 &self,
289 ) -> &'static crate::common::Reg<self::Cfifosel_SPEC, crate::common::RW> {
290 unsafe {
291 crate::common::Reg::<self::Cfifosel_SPEC, crate::common::RW>::from_ptr(
292 self._svd2pac_as_ptr().add(32usize),
293 )
294 }
295 }
296
297 #[doc = "D0FIFO Port Select Register"]
298 #[inline(always)]
299 pub const fn d0fifosel(
300 &self,
301 ) -> &'static crate::common::Reg<self::D0Fifosel_SPEC, crate::common::RW> {
302 unsafe {
303 crate::common::Reg::<self::D0Fifosel_SPEC, crate::common::RW>::from_ptr(
304 self._svd2pac_as_ptr().add(40usize),
305 )
306 }
307 }
308
309 #[doc = "D1FIFO Port Select Register"]
310 #[inline(always)]
311 pub const fn d1fifosel(
312 &self,
313 ) -> &'static crate::common::Reg<self::D1Fifosel_SPEC, crate::common::RW> {
314 unsafe {
315 crate::common::Reg::<self::D1Fifosel_SPEC, crate::common::RW>::from_ptr(
316 self._svd2pac_as_ptr().add(44usize),
317 )
318 }
319 }
320
321 #[doc = "CFIFO Port Control Register"]
322 #[inline(always)]
323 pub const fn cfifoctr(
324 &self,
325 ) -> &'static crate::common::Reg<self::Cfifoctr_SPEC, crate::common::RW> {
326 unsafe {
327 crate::common::Reg::<self::Cfifoctr_SPEC, crate::common::RW>::from_ptr(
328 self._svd2pac_as_ptr().add(34usize),
329 )
330 }
331 }
332
333 #[doc = "D0FIFO Port Control Register"]
334 #[inline(always)]
335 pub const fn d0fifoctr(
336 &self,
337 ) -> &'static crate::common::Reg<self::D0Fifoctr_SPEC, crate::common::RW> {
338 unsafe {
339 crate::common::Reg::<self::D0Fifoctr_SPEC, crate::common::RW>::from_ptr(
340 self._svd2pac_as_ptr().add(42usize),
341 )
342 }
343 }
344
345 #[doc = "D1FIFO Port Control Register"]
346 #[inline(always)]
347 pub const fn d1fifoctr(
348 &self,
349 ) -> &'static crate::common::Reg<self::D1Fifoctr_SPEC, crate::common::RW> {
350 unsafe {
351 crate::common::Reg::<self::D1Fifoctr_SPEC, crate::common::RW>::from_ptr(
352 self._svd2pac_as_ptr().add(46usize),
353 )
354 }
355 }
356
357 #[doc = "Interrupt Enable Register 0"]
358 #[inline(always)]
359 pub const fn intenb0(
360 &self,
361 ) -> &'static crate::common::Reg<self::Intenb0_SPEC, crate::common::RW> {
362 unsafe {
363 crate::common::Reg::<self::Intenb0_SPEC, crate::common::RW>::from_ptr(
364 self._svd2pac_as_ptr().add(48usize),
365 )
366 }
367 }
368
369 #[doc = "Interrupt Enable Register 1"]
370 #[inline(always)]
371 pub const fn intenb1(
372 &self,
373 ) -> &'static crate::common::Reg<self::Intenb1_SPEC, crate::common::RW> {
374 unsafe {
375 crate::common::Reg::<self::Intenb1_SPEC, crate::common::RW>::from_ptr(
376 self._svd2pac_as_ptr().add(50usize),
377 )
378 }
379 }
380
381 #[doc = "BRDY Interrupt Enable Register"]
382 #[inline(always)]
383 pub const fn brdyenb(
384 &self,
385 ) -> &'static crate::common::Reg<self::Brdyenb_SPEC, crate::common::RW> {
386 unsafe {
387 crate::common::Reg::<self::Brdyenb_SPEC, crate::common::RW>::from_ptr(
388 self._svd2pac_as_ptr().add(54usize),
389 )
390 }
391 }
392
393 #[doc = "NRDY Interrupt Enable Register"]
394 #[inline(always)]
395 pub const fn nrdyenb(
396 &self,
397 ) -> &'static crate::common::Reg<self::Nrdyenb_SPEC, crate::common::RW> {
398 unsafe {
399 crate::common::Reg::<self::Nrdyenb_SPEC, crate::common::RW>::from_ptr(
400 self._svd2pac_as_ptr().add(56usize),
401 )
402 }
403 }
404
405 #[doc = "BEMP Interrupt Enable Register"]
406 #[inline(always)]
407 pub const fn bempenb(
408 &self,
409 ) -> &'static crate::common::Reg<self::Bempenb_SPEC, crate::common::RW> {
410 unsafe {
411 crate::common::Reg::<self::Bempenb_SPEC, crate::common::RW>::from_ptr(
412 self._svd2pac_as_ptr().add(58usize),
413 )
414 }
415 }
416
417 #[doc = "SOF Pin Configuration Register"]
418 #[inline(always)]
419 pub const fn sofcfg(
420 &self,
421 ) -> &'static crate::common::Reg<self::Sofcfg_SPEC, crate::common::RW> {
422 unsafe {
423 crate::common::Reg::<self::Sofcfg_SPEC, crate::common::RW>::from_ptr(
424 self._svd2pac_as_ptr().add(60usize),
425 )
426 }
427 }
428
429 #[doc = "PHY Setting Register"]
430 #[inline(always)]
431 pub const fn physet(
432 &self,
433 ) -> &'static crate::common::Reg<self::Physet_SPEC, crate::common::RW> {
434 unsafe {
435 crate::common::Reg::<self::Physet_SPEC, crate::common::RW>::from_ptr(
436 self._svd2pac_as_ptr().add(62usize),
437 )
438 }
439 }
440
441 #[doc = "Interrupt Status Register 0"]
442 #[inline(always)]
443 pub const fn intsts0(
444 &self,
445 ) -> &'static crate::common::Reg<self::Intsts0_SPEC, crate::common::RW> {
446 unsafe {
447 crate::common::Reg::<self::Intsts0_SPEC, crate::common::RW>::from_ptr(
448 self._svd2pac_as_ptr().add(64usize),
449 )
450 }
451 }
452
453 #[doc = "Interrupt Status Register 1"]
454 #[inline(always)]
455 pub const fn intsts1(
456 &self,
457 ) -> &'static crate::common::Reg<self::Intsts1_SPEC, crate::common::RW> {
458 unsafe {
459 crate::common::Reg::<self::Intsts1_SPEC, crate::common::RW>::from_ptr(
460 self._svd2pac_as_ptr().add(66usize),
461 )
462 }
463 }
464
465 #[doc = "BRDY Interrupt Status Register"]
466 #[inline(always)]
467 pub const fn brdysts(
468 &self,
469 ) -> &'static crate::common::Reg<self::Brdysts_SPEC, crate::common::RW> {
470 unsafe {
471 crate::common::Reg::<self::Brdysts_SPEC, crate::common::RW>::from_ptr(
472 self._svd2pac_as_ptr().add(70usize),
473 )
474 }
475 }
476
477 #[doc = "NRDY Interrupt Status Register"]
478 #[inline(always)]
479 pub const fn nrdysts(
480 &self,
481 ) -> &'static crate::common::Reg<self::Nrdysts_SPEC, crate::common::RW> {
482 unsafe {
483 crate::common::Reg::<self::Nrdysts_SPEC, crate::common::RW>::from_ptr(
484 self._svd2pac_as_ptr().add(72usize),
485 )
486 }
487 }
488
489 #[doc = "BEMP Interrupt Status Register"]
490 #[inline(always)]
491 pub const fn bempsts(
492 &self,
493 ) -> &'static crate::common::Reg<self::Bempsts_SPEC, crate::common::RW> {
494 unsafe {
495 crate::common::Reg::<self::Bempsts_SPEC, crate::common::RW>::from_ptr(
496 self._svd2pac_as_ptr().add(74usize),
497 )
498 }
499 }
500
501 #[doc = "Frame Number Register"]
502 #[inline(always)]
503 pub const fn frmnum(
504 &self,
505 ) -> &'static crate::common::Reg<self::Frmnum_SPEC, crate::common::RW> {
506 unsafe {
507 crate::common::Reg::<self::Frmnum_SPEC, crate::common::RW>::from_ptr(
508 self._svd2pac_as_ptr().add(76usize),
509 )
510 }
511 }
512
513 #[doc = "uFrame Number Register"]
514 #[inline(always)]
515 pub const fn ufrmnum(
516 &self,
517 ) -> &'static crate::common::Reg<self::Ufrmnum_SPEC, crate::common::RW> {
518 unsafe {
519 crate::common::Reg::<self::Ufrmnum_SPEC, crate::common::RW>::from_ptr(
520 self._svd2pac_as_ptr().add(78usize),
521 )
522 }
523 }
524
525 #[doc = "USB Address Register"]
526 #[inline(always)]
527 pub const fn usbaddr(
528 &self,
529 ) -> &'static crate::common::Reg<self::Usbaddr_SPEC, crate::common::RW> {
530 unsafe {
531 crate::common::Reg::<self::Usbaddr_SPEC, crate::common::RW>::from_ptr(
532 self._svd2pac_as_ptr().add(80usize),
533 )
534 }
535 }
536
537 #[doc = "USB Request Type Register"]
538 #[inline(always)]
539 pub const fn usbreq(
540 &self,
541 ) -> &'static crate::common::Reg<self::Usbreq_SPEC, crate::common::RW> {
542 unsafe {
543 crate::common::Reg::<self::Usbreq_SPEC, crate::common::RW>::from_ptr(
544 self._svd2pac_as_ptr().add(84usize),
545 )
546 }
547 }
548
549 #[doc = "USB Request Value Register"]
550 #[inline(always)]
551 pub const fn usbval(
552 &self,
553 ) -> &'static crate::common::Reg<self::Usbval_SPEC, crate::common::RW> {
554 unsafe {
555 crate::common::Reg::<self::Usbval_SPEC, crate::common::RW>::from_ptr(
556 self._svd2pac_as_ptr().add(86usize),
557 )
558 }
559 }
560
561 #[doc = "USB Request Index Register"]
562 #[inline(always)]
563 pub const fn usbindx(
564 &self,
565 ) -> &'static crate::common::Reg<self::Usbindx_SPEC, crate::common::RW> {
566 unsafe {
567 crate::common::Reg::<self::Usbindx_SPEC, crate::common::RW>::from_ptr(
568 self._svd2pac_as_ptr().add(88usize),
569 )
570 }
571 }
572
573 #[doc = "USB Request Length Register"]
574 #[inline(always)]
575 pub const fn usbleng(
576 &self,
577 ) -> &'static crate::common::Reg<self::Usbleng_SPEC, crate::common::RW> {
578 unsafe {
579 crate::common::Reg::<self::Usbleng_SPEC, crate::common::RW>::from_ptr(
580 self._svd2pac_as_ptr().add(90usize),
581 )
582 }
583 }
584
585 #[doc = "DCP Configuration Register"]
586 #[inline(always)]
587 pub const fn dcpcfg(
588 &self,
589 ) -> &'static crate::common::Reg<self::Dcpcfg_SPEC, crate::common::RW> {
590 unsafe {
591 crate::common::Reg::<self::Dcpcfg_SPEC, crate::common::RW>::from_ptr(
592 self._svd2pac_as_ptr().add(92usize),
593 )
594 }
595 }
596
597 #[doc = "DCP Maximum Packet Size Register"]
598 #[inline(always)]
599 pub const fn dcpmaxp(
600 &self,
601 ) -> &'static crate::common::Reg<self::Dcpmaxp_SPEC, crate::common::RW> {
602 unsafe {
603 crate::common::Reg::<self::Dcpmaxp_SPEC, crate::common::RW>::from_ptr(
604 self._svd2pac_as_ptr().add(94usize),
605 )
606 }
607 }
608
609 #[doc = "DCP Control Register"]
610 #[inline(always)]
611 pub const fn dcpctr(
612 &self,
613 ) -> &'static crate::common::Reg<self::Dcpctr_SPEC, crate::common::RW> {
614 unsafe {
615 crate::common::Reg::<self::Dcpctr_SPEC, crate::common::RW>::from_ptr(
616 self._svd2pac_as_ptr().add(96usize),
617 )
618 }
619 }
620
621 #[doc = "Pipe Window Select Register"]
622 #[inline(always)]
623 pub const fn pipesel(
624 &self,
625 ) -> &'static crate::common::Reg<self::Pipesel_SPEC, crate::common::RW> {
626 unsafe {
627 crate::common::Reg::<self::Pipesel_SPEC, crate::common::RW>::from_ptr(
628 self._svd2pac_as_ptr().add(100usize),
629 )
630 }
631 }
632
633 #[doc = "Pipe Configuration Register"]
634 #[inline(always)]
635 pub const fn pipecfg(
636 &self,
637 ) -> &'static crate::common::Reg<self::Pipecfg_SPEC, crate::common::RW> {
638 unsafe {
639 crate::common::Reg::<self::Pipecfg_SPEC, crate::common::RW>::from_ptr(
640 self._svd2pac_as_ptr().add(104usize),
641 )
642 }
643 }
644
645 #[doc = "Pipe Buffer Register"]
646 #[inline(always)]
647 pub const fn pipebuf(
648 &self,
649 ) -> &'static crate::common::Reg<self::Pipebuf_SPEC, crate::common::RW> {
650 unsafe {
651 crate::common::Reg::<self::Pipebuf_SPEC, crate::common::RW>::from_ptr(
652 self._svd2pac_as_ptr().add(106usize),
653 )
654 }
655 }
656
657 #[doc = "Pipe Maximum Packet Size Register"]
658 #[inline(always)]
659 pub const fn pipemaxp(
660 &self,
661 ) -> &'static crate::common::Reg<self::Pipemaxp_SPEC, crate::common::RW> {
662 unsafe {
663 crate::common::Reg::<self::Pipemaxp_SPEC, crate::common::RW>::from_ptr(
664 self._svd2pac_as_ptr().add(108usize),
665 )
666 }
667 }
668
669 #[doc = "Pipe Cycle Control Register"]
670 #[inline(always)]
671 pub const fn pipeperi(
672 &self,
673 ) -> &'static crate::common::Reg<self::Pipeperi_SPEC, crate::common::RW> {
674 unsafe {
675 crate::common::Reg::<self::Pipeperi_SPEC, crate::common::RW>::from_ptr(
676 self._svd2pac_as_ptr().add(110usize),
677 )
678 }
679 }
680
681 #[doc = "PIPE Control Register"]
682 #[inline(always)]
683 pub const fn pipectr(
684 &self,
685 ) -> &'static crate::common::ClusterRegisterArray<
686 crate::common::Reg<self::Pipectr_SPEC, crate::common::RW>,
687 9,
688 0x2,
689 > {
690 unsafe {
691 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x70usize))
692 }
693 }
694 #[inline(always)]
695 pub const fn pipe1ctr(
696 &self,
697 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
698 unsafe {
699 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
700 self._svd2pac_as_ptr().add(0x70usize),
701 )
702 }
703 }
704 #[inline(always)]
705 pub const fn pipe2ctr(
706 &self,
707 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
708 unsafe {
709 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
710 self._svd2pac_as_ptr().add(0x72usize),
711 )
712 }
713 }
714 #[inline(always)]
715 pub const fn pipe3ctr(
716 &self,
717 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
718 unsafe {
719 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
720 self._svd2pac_as_ptr().add(0x74usize),
721 )
722 }
723 }
724 #[inline(always)]
725 pub const fn pipe4ctr(
726 &self,
727 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
728 unsafe {
729 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
730 self._svd2pac_as_ptr().add(0x76usize),
731 )
732 }
733 }
734 #[inline(always)]
735 pub const fn pipe5ctr(
736 &self,
737 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
738 unsafe {
739 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
740 self._svd2pac_as_ptr().add(0x78usize),
741 )
742 }
743 }
744 #[inline(always)]
745 pub const fn pipe6ctr(
746 &self,
747 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
748 unsafe {
749 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
750 self._svd2pac_as_ptr().add(0x7ausize),
751 )
752 }
753 }
754 #[inline(always)]
755 pub const fn pipe7ctr(
756 &self,
757 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
758 unsafe {
759 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
760 self._svd2pac_as_ptr().add(0x7cusize),
761 )
762 }
763 }
764 #[inline(always)]
765 pub const fn pipe8ctr(
766 &self,
767 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
768 unsafe {
769 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
770 self._svd2pac_as_ptr().add(0x7eusize),
771 )
772 }
773 }
774 #[inline(always)]
775 pub const fn pipe9ctr(
776 &self,
777 ) -> &'static crate::common::Reg<self::Pipectr_SPEC, crate::common::RW> {
778 unsafe {
779 crate::common::Reg::<self::Pipectr_SPEC, crate::common::RW>::from_ptr(
780 self._svd2pac_as_ptr().add(0x80usize),
781 )
782 }
783 }
784
785 #[doc = "PIPE Transaction Counter Enable Register"]
786 #[inline(always)]
787 pub const fn pipetre(
788 &self,
789 ) -> &'static crate::common::ClusterRegisterArray<
790 crate::common::Reg<self::Pipetre_SPEC, crate::common::RW>,
791 5,
792 0x4,
793 > {
794 unsafe {
795 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x90usize))
796 }
797 }
798 #[inline(always)]
799 pub const fn pipe1tre(
800 &self,
801 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
802 unsafe {
803 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
804 self._svd2pac_as_ptr().add(0x90usize),
805 )
806 }
807 }
808 #[inline(always)]
809 pub const fn pipe2tre(
810 &self,
811 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
812 unsafe {
813 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
814 self._svd2pac_as_ptr().add(0x94usize),
815 )
816 }
817 }
818 #[inline(always)]
819 pub const fn pipe3tre(
820 &self,
821 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
822 unsafe {
823 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
824 self._svd2pac_as_ptr().add(0x98usize),
825 )
826 }
827 }
828 #[inline(always)]
829 pub const fn pipe4tre(
830 &self,
831 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
832 unsafe {
833 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
834 self._svd2pac_as_ptr().add(0x9cusize),
835 )
836 }
837 }
838 #[inline(always)]
839 pub const fn pipe5tre(
840 &self,
841 ) -> &'static crate::common::Reg<self::Pipetre_SPEC, crate::common::RW> {
842 unsafe {
843 crate::common::Reg::<self::Pipetre_SPEC, crate::common::RW>::from_ptr(
844 self._svd2pac_as_ptr().add(0xa0usize),
845 )
846 }
847 }
848
849 #[doc = "PIPE Transaction Counter Register"]
850 #[inline(always)]
851 pub const fn pipetrn(
852 &self,
853 ) -> &'static crate::common::ClusterRegisterArray<
854 crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW>,
855 5,
856 0x4,
857 > {
858 unsafe {
859 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0x92usize))
860 }
861 }
862 #[inline(always)]
863 pub const fn pipe1trn(
864 &self,
865 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
866 unsafe {
867 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
868 self._svd2pac_as_ptr().add(0x92usize),
869 )
870 }
871 }
872 #[inline(always)]
873 pub const fn pipe2trn(
874 &self,
875 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
876 unsafe {
877 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
878 self._svd2pac_as_ptr().add(0x96usize),
879 )
880 }
881 }
882 #[inline(always)]
883 pub const fn pipe3trn(
884 &self,
885 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
886 unsafe {
887 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
888 self._svd2pac_as_ptr().add(0x9ausize),
889 )
890 }
891 }
892 #[inline(always)]
893 pub const fn pipe4trn(
894 &self,
895 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
896 unsafe {
897 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
898 self._svd2pac_as_ptr().add(0x9eusize),
899 )
900 }
901 }
902 #[inline(always)]
903 pub const fn pipe5trn(
904 &self,
905 ) -> &'static crate::common::Reg<self::Pipetrn_SPEC, crate::common::RW> {
906 unsafe {
907 crate::common::Reg::<self::Pipetrn_SPEC, crate::common::RW>::from_ptr(
908 self._svd2pac_as_ptr().add(0xa2usize),
909 )
910 }
911 }
912
913 #[doc = "Device Address Configuration Register"]
914 #[inline(always)]
915 pub const fn devadd(
916 &self,
917 ) -> &'static crate::common::ClusterRegisterArray<
918 crate::common::Reg<self::Devadd_SPEC, crate::common::RW>,
919 10,
920 0x2,
921 > {
922 unsafe {
923 crate::common::ClusterRegisterArray::from_ptr(self._svd2pac_as_ptr().add(0xd0usize))
924 }
925 }
926 #[inline(always)]
927 pub const fn devadd0(
928 &self,
929 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
930 unsafe {
931 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
932 self._svd2pac_as_ptr().add(0xd0usize),
933 )
934 }
935 }
936 #[inline(always)]
937 pub const fn devadd1(
938 &self,
939 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
940 unsafe {
941 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
942 self._svd2pac_as_ptr().add(0xd2usize),
943 )
944 }
945 }
946 #[inline(always)]
947 pub const fn devadd2(
948 &self,
949 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
950 unsafe {
951 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
952 self._svd2pac_as_ptr().add(0xd4usize),
953 )
954 }
955 }
956 #[inline(always)]
957 pub const fn devadd3(
958 &self,
959 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
960 unsafe {
961 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
962 self._svd2pac_as_ptr().add(0xd6usize),
963 )
964 }
965 }
966 #[inline(always)]
967 pub const fn devadd4(
968 &self,
969 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
970 unsafe {
971 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
972 self._svd2pac_as_ptr().add(0xd8usize),
973 )
974 }
975 }
976 #[inline(always)]
977 pub const fn devadd5(
978 &self,
979 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
980 unsafe {
981 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
982 self._svd2pac_as_ptr().add(0xdausize),
983 )
984 }
985 }
986 #[inline(always)]
987 pub const fn devadd6(
988 &self,
989 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
990 unsafe {
991 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
992 self._svd2pac_as_ptr().add(0xdcusize),
993 )
994 }
995 }
996 #[inline(always)]
997 pub const fn devadd7(
998 &self,
999 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
1000 unsafe {
1001 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
1002 self._svd2pac_as_ptr().add(0xdeusize),
1003 )
1004 }
1005 }
1006 #[inline(always)]
1007 pub const fn devadd8(
1008 &self,
1009 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
1010 unsafe {
1011 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
1012 self._svd2pac_as_ptr().add(0xe0usize),
1013 )
1014 }
1015 }
1016 #[inline(always)]
1017 pub const fn devadd9(
1018 &self,
1019 ) -> &'static crate::common::Reg<self::Devadd_SPEC, crate::common::RW> {
1020 unsafe {
1021 crate::common::Reg::<self::Devadd_SPEC, crate::common::RW>::from_ptr(
1022 self._svd2pac_as_ptr().add(0xe2usize),
1023 )
1024 }
1025 }
1026
1027 #[doc = "Device Address Configuration Register A"]
1028 #[inline(always)]
1029 pub const fn devadda(
1030 &self,
1031 ) -> &'static crate::common::Reg<self::Devadda_SPEC, crate::common::RW> {
1032 unsafe {
1033 crate::common::Reg::<self::Devadda_SPEC, crate::common::RW>::from_ptr(
1034 self._svd2pac_as_ptr().add(228usize),
1035 )
1036 }
1037 }
1038
1039 #[doc = "Low Power Control Register"]
1040 #[inline(always)]
1041 pub const fn lpctrl(
1042 &self,
1043 ) -> &'static crate::common::Reg<self::Lpctrl_SPEC, crate::common::RW> {
1044 unsafe {
1045 crate::common::Reg::<self::Lpctrl_SPEC, crate::common::RW>::from_ptr(
1046 self._svd2pac_as_ptr().add(256usize),
1047 )
1048 }
1049 }
1050
1051 #[doc = "Low Power Status Register"]
1052 #[inline(always)]
1053 pub const fn lpsts(&self) -> &'static crate::common::Reg<self::Lpsts_SPEC, crate::common::RW> {
1054 unsafe {
1055 crate::common::Reg::<self::Lpsts_SPEC, crate::common::RW>::from_ptr(
1056 self._svd2pac_as_ptr().add(258usize),
1057 )
1058 }
1059 }
1060
1061 #[doc = "Battery Charging Control Register"]
1062 #[inline(always)]
1063 pub const fn bcctrl(
1064 &self,
1065 ) -> &'static crate::common::Reg<self::Bcctrl_SPEC, crate::common::RW> {
1066 unsafe {
1067 crate::common::Reg::<self::Bcctrl_SPEC, crate::common::RW>::from_ptr(
1068 self._svd2pac_as_ptr().add(320usize),
1069 )
1070 }
1071 }
1072
1073 #[doc = "Function L1 Control Register 1"]
1074 #[inline(always)]
1075 pub const fn pl1ctrl1(
1076 &self,
1077 ) -> &'static crate::common::Reg<self::Pl1Ctrl1_SPEC, crate::common::RW> {
1078 unsafe {
1079 crate::common::Reg::<self::Pl1Ctrl1_SPEC, crate::common::RW>::from_ptr(
1080 self._svd2pac_as_ptr().add(324usize),
1081 )
1082 }
1083 }
1084
1085 #[doc = "Function L1 Control Register 2"]
1086 #[inline(always)]
1087 pub const fn pl1ctrl2(
1088 &self,
1089 ) -> &'static crate::common::Reg<self::Pl1Ctrl2_SPEC, crate::common::RW> {
1090 unsafe {
1091 crate::common::Reg::<self::Pl1Ctrl2_SPEC, crate::common::RW>::from_ptr(
1092 self._svd2pac_as_ptr().add(326usize),
1093 )
1094 }
1095 }
1096
1097 #[doc = "Host L1 Control Register 1"]
1098 #[inline(always)]
1099 pub const fn hl1ctrl1(
1100 &self,
1101 ) -> &'static crate::common::Reg<self::Hl1Ctrl1_SPEC, crate::common::RW> {
1102 unsafe {
1103 crate::common::Reg::<self::Hl1Ctrl1_SPEC, crate::common::RW>::from_ptr(
1104 self._svd2pac_as_ptr().add(328usize),
1105 )
1106 }
1107 }
1108
1109 #[doc = "Host L1 Control Register 2"]
1110 #[inline(always)]
1111 pub const fn hl1ctrl2(
1112 &self,
1113 ) -> &'static crate::common::Reg<self::Hl1Ctrl2_SPEC, crate::common::RW> {
1114 unsafe {
1115 crate::common::Reg::<self::Hl1Ctrl2_SPEC, crate::common::RW>::from_ptr(
1116 self._svd2pac_as_ptr().add(330usize),
1117 )
1118 }
1119 }
1120
1121 #[doc = "Deep Standby USB Transceiver Control/Pin Monitor Register"]
1122 #[inline(always)]
1123 pub const fn dpusr0r(
1124 &self,
1125 ) -> &'static crate::common::Reg<self::Dpusr0R_SPEC, crate::common::R> {
1126 unsafe {
1127 crate::common::Reg::<self::Dpusr0R_SPEC, crate::common::R>::from_ptr(
1128 self._svd2pac_as_ptr().add(352usize),
1129 )
1130 }
1131 }
1132
1133 #[doc = "Deep Standby USB Suspend/Resume Interrupt Register"]
1134 #[inline(always)]
1135 pub const fn dpusr1r(
1136 &self,
1137 ) -> &'static crate::common::Reg<self::Dpusr1R_SPEC, crate::common::RW> {
1138 unsafe {
1139 crate::common::Reg::<self::Dpusr1R_SPEC, crate::common::RW>::from_ptr(
1140 self._svd2pac_as_ptr().add(356usize),
1141 )
1142 }
1143 }
1144
1145 #[doc = "Deep Standby USB Suspend/Resume Interrupt Register"]
1146 #[inline(always)]
1147 pub const fn dpusr2r(
1148 &self,
1149 ) -> &'static crate::common::Reg<self::Dpusr2R_SPEC, crate::common::RW> {
1150 unsafe {
1151 crate::common::Reg::<self::Dpusr2R_SPEC, crate::common::RW>::from_ptr(
1152 self._svd2pac_as_ptr().add(360usize),
1153 )
1154 }
1155 }
1156
1157 #[doc = "Deep Standby USB Suspend/Resume Command Register"]
1158 #[inline(always)]
1159 pub const fn dpusrcr(
1160 &self,
1161 ) -> &'static crate::common::Reg<self::Dpusrcr_SPEC, crate::common::RW> {
1162 unsafe {
1163 crate::common::Reg::<self::Dpusrcr_SPEC, crate::common::RW>::from_ptr(
1164 self._svd2pac_as_ptr().add(362usize),
1165 )
1166 }
1167 }
1168}
1169#[doc(hidden)]
1170#[derive(Copy, Clone, Eq, PartialEq)]
1171pub struct Syscfg_SPEC;
1172impl crate::sealed::RegSpec for Syscfg_SPEC {
1173 type DataType = u16;
1174}
1175
1176#[doc = "System Configuration Control Register"]
1177pub type Syscfg = crate::RegValueT<Syscfg_SPEC>;
1178
1179impl Syscfg {
1180 #[doc = "Single End Receiver Enable"]
1181 #[inline(always)]
1182 pub fn cnen(
1183 self,
1184 ) -> crate::common::RegisterField<
1185 8,
1186 0x1,
1187 1,
1188 0,
1189 syscfg::Cnen,
1190 syscfg::Cnen,
1191 Syscfg_SPEC,
1192 crate::common::RW,
1193 > {
1194 crate::common::RegisterField::<
1195 8,
1196 0x1,
1197 1,
1198 0,
1199 syscfg::Cnen,
1200 syscfg::Cnen,
1201 Syscfg_SPEC,
1202 crate::common::RW,
1203 >::from_register(self, 0)
1204 }
1205
1206 #[doc = "High-Speed Operation Enable"]
1207 #[inline(always)]
1208 pub fn hse(
1209 self,
1210 ) -> crate::common::RegisterField<
1211 7,
1212 0x1,
1213 1,
1214 0,
1215 syscfg::Hse,
1216 syscfg::Hse,
1217 Syscfg_SPEC,
1218 crate::common::RW,
1219 > {
1220 crate::common::RegisterField::<
1221 7,
1222 0x1,
1223 1,
1224 0,
1225 syscfg::Hse,
1226 syscfg::Hse,
1227 Syscfg_SPEC,
1228 crate::common::RW,
1229 >::from_register(self, 0)
1230 }
1231
1232 #[doc = "Controller Function Select"]
1233 #[inline(always)]
1234 pub fn dcfm(
1235 self,
1236 ) -> crate::common::RegisterField<
1237 6,
1238 0x1,
1239 1,
1240 0,
1241 syscfg::Dcfm,
1242 syscfg::Dcfm,
1243 Syscfg_SPEC,
1244 crate::common::RW,
1245 > {
1246 crate::common::RegisterField::<
1247 6,
1248 0x1,
1249 1,
1250 0,
1251 syscfg::Dcfm,
1252 syscfg::Dcfm,
1253 Syscfg_SPEC,
1254 crate::common::RW,
1255 >::from_register(self, 0)
1256 }
1257
1258 #[doc = "D+/D- Line Resistor Control"]
1259 #[inline(always)]
1260 pub fn drpd(
1261 self,
1262 ) -> crate::common::RegisterField<
1263 5,
1264 0x1,
1265 1,
1266 0,
1267 syscfg::Drpd,
1268 syscfg::Drpd,
1269 Syscfg_SPEC,
1270 crate::common::RW,
1271 > {
1272 crate::common::RegisterField::<
1273 5,
1274 0x1,
1275 1,
1276 0,
1277 syscfg::Drpd,
1278 syscfg::Drpd,
1279 Syscfg_SPEC,
1280 crate::common::RW,
1281 >::from_register(self, 0)
1282 }
1283
1284 #[doc = "D+ Line Resistor Control"]
1285 #[inline(always)]
1286 pub fn dprpu(
1287 self,
1288 ) -> crate::common::RegisterField<
1289 4,
1290 0x1,
1291 1,
1292 0,
1293 syscfg::Dprpu,
1294 syscfg::Dprpu,
1295 Syscfg_SPEC,
1296 crate::common::RW,
1297 > {
1298 crate::common::RegisterField::<
1299 4,
1300 0x1,
1301 1,
1302 0,
1303 syscfg::Dprpu,
1304 syscfg::Dprpu,
1305 Syscfg_SPEC,
1306 crate::common::RW,
1307 >::from_register(self, 0)
1308 }
1309
1310 #[doc = "USB Operation Enable"]
1311 #[inline(always)]
1312 pub fn usbe(
1313 self,
1314 ) -> crate::common::RegisterField<
1315 0,
1316 0x1,
1317 1,
1318 0,
1319 syscfg::Usbe,
1320 syscfg::Usbe,
1321 Syscfg_SPEC,
1322 crate::common::RW,
1323 > {
1324 crate::common::RegisterField::<
1325 0,
1326 0x1,
1327 1,
1328 0,
1329 syscfg::Usbe,
1330 syscfg::Usbe,
1331 Syscfg_SPEC,
1332 crate::common::RW,
1333 >::from_register(self, 0)
1334 }
1335}
1336impl ::core::default::Default for Syscfg {
1337 #[inline(always)]
1338 fn default() -> Syscfg {
1339 <crate::RegValueT<Syscfg_SPEC> as RegisterValue<_>>::new(32)
1340 }
1341}
1342pub mod syscfg {
1343
1344 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1345 pub struct Cnen_SPEC;
1346 pub type Cnen = crate::EnumBitfieldStruct<u8, Cnen_SPEC>;
1347 impl Cnen {
1348 #[doc = "Single end receiver operation is disabled."]
1349 pub const _0: Self = Self::new(0);
1350
1351 #[doc = "Single end receiver operation is enabled."]
1352 pub const _1: Self = Self::new(1);
1353 }
1354 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1355 pub struct Hse_SPEC;
1356 pub type Hse = crate::EnumBitfieldStruct<u8, Hse_SPEC>;
1357 impl Hse {
1358 #[doc = "High-speed operation is disabled.(When the function controller function is selected: Full speed, When the host controller function is selected: Full/low speed)"]
1359 pub const _0: Self = Self::new(0);
1360
1361 #[doc = "High-speed operation is enabled (the controller detects the communication speed)."]
1362 pub const _1: Self = Self::new(1);
1363 }
1364 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1365 pub struct Dcfm_SPEC;
1366 pub type Dcfm = crate::EnumBitfieldStruct<u8, Dcfm_SPEC>;
1367 impl Dcfm {
1368 #[doc = "Function controller function is selected."]
1369 pub const _0: Self = Self::new(0);
1370
1371 #[doc = "Host controller function is selected."]
1372 pub const _1: Self = Self::new(1);
1373 }
1374 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1375 pub struct Drpd_SPEC;
1376 pub type Drpd = crate::EnumBitfieldStruct<u8, Drpd_SPEC>;
1377 impl Drpd {
1378 #[doc = "Pulling down the line is disabled."]
1379 pub const _0: Self = Self::new(0);
1380
1381 #[doc = "Pulling down the line is enabled."]
1382 pub const _1: Self = Self::new(1);
1383 }
1384 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1385 pub struct Dprpu_SPEC;
1386 pub type Dprpu = crate::EnumBitfieldStruct<u8, Dprpu_SPEC>;
1387 impl Dprpu {
1388 #[doc = "Pulling up the line is disabled."]
1389 pub const _0: Self = Self::new(0);
1390
1391 #[doc = "Pulling up the line is enabled."]
1392 pub const _1: Self = Self::new(1);
1393 }
1394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1395 pub struct Usbe_SPEC;
1396 pub type Usbe = crate::EnumBitfieldStruct<u8, Usbe_SPEC>;
1397 impl Usbe {
1398 #[doc = "USB operation is disabled."]
1399 pub const _0: Self = Self::new(0);
1400
1401 #[doc = "USB operation is enabled."]
1402 pub const _1: Self = Self::new(1);
1403 }
1404}
1405#[doc(hidden)]
1406#[derive(Copy, Clone, Eq, PartialEq)]
1407pub struct Buswait_SPEC;
1408impl crate::sealed::RegSpec for Buswait_SPEC {
1409 type DataType = u16;
1410}
1411
1412#[doc = "CPU Bus Wait Register"]
1413pub type Buswait = crate::RegValueT<Buswait_SPEC>;
1414
1415impl Buswait {
1416 #[doc = "CPU Bus Access Wait Specification BWAIT waits (BWAIT+2 access cycles)"]
1417 #[inline(always)]
1418 pub fn bwait(
1419 self,
1420 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Buswait_SPEC, crate::common::RW> {
1421 crate::common::RegisterField::<0,0xf,1,0,u8,u8,Buswait_SPEC,crate::common::RW>::from_register(self,0)
1422 }
1423}
1424impl ::core::default::Default for Buswait {
1425 #[inline(always)]
1426 fn default() -> Buswait {
1427 <crate::RegValueT<Buswait_SPEC> as RegisterValue<_>>::new(15)
1428 }
1429}
1430
1431#[doc(hidden)]
1432#[derive(Copy, Clone, Eq, PartialEq)]
1433pub struct Syssts0_SPEC;
1434impl crate::sealed::RegSpec for Syssts0_SPEC {
1435 type DataType = u16;
1436}
1437
1438#[doc = "System Configuration Status Register"]
1439pub type Syssts0 = crate::RegValueT<Syssts0_SPEC>;
1440
1441impl Syssts0 {
1442 #[doc = "External USB1_OVRCURA/USB1_OVRCURB Input Pin MonitorThe OCVMON\\[1\\] bit indicates the status of the USBHS_OVRCURA pin. The OCVMON\\[0\\] bit indicates the status of the USBHS_OVRCURB pin."]
1443 #[inline(always)]
1444 pub fn ovcmon(
1445 self,
1446 ) -> crate::common::RegisterField<14, 0x3, 1, 0, u8, u8, Syssts0_SPEC, crate::common::R> {
1447 crate::common::RegisterField::<14,0x3,1,0,u8,u8,Syssts0_SPEC,crate::common::R>::from_register(self,0)
1448 }
1449
1450 #[doc = "Host Sequencer Status Monitor"]
1451 #[inline(always)]
1452 pub fn htact(
1453 self,
1454 ) -> crate::common::RegisterField<
1455 6,
1456 0x1,
1457 1,
1458 0,
1459 syssts0::Htact,
1460 syssts0::Htact,
1461 Syssts0_SPEC,
1462 crate::common::R,
1463 > {
1464 crate::common::RegisterField::<
1465 6,
1466 0x1,
1467 1,
1468 0,
1469 syssts0::Htact,
1470 syssts0::Htact,
1471 Syssts0_SPEC,
1472 crate::common::R,
1473 >::from_register(self, 0)
1474 }
1475
1476 #[doc = "SOF Active Monitor While Host Controller Function is Selected."]
1477 #[inline(always)]
1478 pub fn sofea(
1479 self,
1480 ) -> crate::common::RegisterField<
1481 5,
1482 0x1,
1483 1,
1484 0,
1485 syssts0::Sofea,
1486 syssts0::Sofea,
1487 Syssts0_SPEC,
1488 crate::common::R,
1489 > {
1490 crate::common::RegisterField::<
1491 5,
1492 0x1,
1493 1,
1494 0,
1495 syssts0::Sofea,
1496 syssts0::Sofea,
1497 Syssts0_SPEC,
1498 crate::common::R,
1499 >::from_register(self, 0)
1500 }
1501
1502 #[doc = "ID0 Pin Monitor"]
1503 #[inline(always)]
1504 pub fn idmon(
1505 self,
1506 ) -> crate::common::RegisterField<
1507 2,
1508 0x1,
1509 1,
1510 0,
1511 syssts0::Idmon,
1512 syssts0::Idmon,
1513 Syssts0_SPEC,
1514 crate::common::R,
1515 > {
1516 crate::common::RegisterField::<
1517 2,
1518 0x1,
1519 1,
1520 0,
1521 syssts0::Idmon,
1522 syssts0::Idmon,
1523 Syssts0_SPEC,
1524 crate::common::R,
1525 >::from_register(self, 0)
1526 }
1527
1528 #[doc = "USB Data Line Status Monitor"]
1529 #[inline(always)]
1530 pub fn lnst(
1531 self,
1532 ) -> crate::common::RegisterField<
1533 0,
1534 0x3,
1535 1,
1536 0,
1537 syssts0::Lnst,
1538 syssts0::Lnst,
1539 Syssts0_SPEC,
1540 crate::common::R,
1541 > {
1542 crate::common::RegisterField::<
1543 0,
1544 0x3,
1545 1,
1546 0,
1547 syssts0::Lnst,
1548 syssts0::Lnst,
1549 Syssts0_SPEC,
1550 crate::common::R,
1551 >::from_register(self, 0)
1552 }
1553}
1554impl ::core::default::Default for Syssts0 {
1555 #[inline(always)]
1556 fn default() -> Syssts0 {
1557 <crate::RegValueT<Syssts0_SPEC> as RegisterValue<_>>::new(0)
1558 }
1559}
1560pub mod syssts0 {
1561
1562 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1563 pub struct Htact_SPEC;
1564 pub type Htact = crate::EnumBitfieldStruct<u8, Htact_SPEC>;
1565 impl Htact {
1566 #[doc = "Host sequencer is stopped."]
1567 pub const _0: Self = Self::new(0);
1568
1569 #[doc = "Host sequencer is operating."]
1570 pub const _1: Self = Self::new(1);
1571 }
1572 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1573 pub struct Sofea_SPEC;
1574 pub type Sofea = crate::EnumBitfieldStruct<u8, Sofea_SPEC>;
1575 impl Sofea {
1576 #[doc = "SOF output is stopped."]
1577 pub const _0: Self = Self::new(0);
1578
1579 #[doc = "SOF output is operating."]
1580 pub const _1: Self = Self::new(1);
1581 }
1582 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1583 pub struct Idmon_SPEC;
1584 pub type Idmon = crate::EnumBitfieldStruct<u8, Idmon_SPEC>;
1585 impl Idmon {
1586 #[doc = "ID0 = Low"]
1587 pub const _0: Self = Self::new(0);
1588
1589 #[doc = "ID0 = High"]
1590 pub const _1: Self = Self::new(1);
1591 }
1592 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1593 pub struct Lnst_SPEC;
1594 pub type Lnst = crate::EnumBitfieldStruct<u8, Lnst_SPEC>;
1595 impl Lnst {
1596 #[doc = "SE0 (During Low-Speed Operation:only when the host controller function is selected or During Full-Speed Operation) /Squelch (During Hi-Speed Operation or During Chirp Operation)"]
1597 pub const _00: Self = Self::new(0);
1598
1599 #[doc = "K-State (During Low-Speed Operation:only when the host controller function is selected) /J-State (During Full-Speed Operation) /Unsquelch (During Hi-Speed Operation) /Chirp J (During Chirp Operation)"]
1600 pub const _01: Self = Self::new(1);
1601
1602 #[doc = "J-State (During Low-Speed Operation:only when the host controller function is selected) /K-State (During Full-Speed Operation) /Invalid (During Hi-Speed Operation) /Chirp K (During Chirp Operation)"]
1603 pub const _10: Self = Self::new(2);
1604
1605 #[doc = "SE1 (During Low-Speed Operation:only when the host controller function is selected or During Full-Speed Operation) /Invalid (During Hi-Speed Operation or During Chirp Operation)"]
1606 pub const _11: Self = Self::new(3);
1607 }
1608}
1609#[doc(hidden)]
1610#[derive(Copy, Clone, Eq, PartialEq)]
1611pub struct Pllsta_SPEC;
1612impl crate::sealed::RegSpec for Pllsta_SPEC {
1613 type DataType = u16;
1614}
1615
1616#[doc = "PLL Status Register"]
1617pub type Pllsta = crate::RegValueT<Pllsta_SPEC>;
1618
1619impl Pllsta {
1620 #[doc = "PLL Lock Flag"]
1621 #[inline(always)]
1622 pub fn plllock(
1623 self,
1624 ) -> crate::common::RegisterField<
1625 0,
1626 0x1,
1627 1,
1628 0,
1629 pllsta::Plllock,
1630 pllsta::Plllock,
1631 Pllsta_SPEC,
1632 crate::common::R,
1633 > {
1634 crate::common::RegisterField::<
1635 0,
1636 0x1,
1637 1,
1638 0,
1639 pllsta::Plllock,
1640 pllsta::Plllock,
1641 Pllsta_SPEC,
1642 crate::common::R,
1643 >::from_register(self, 0)
1644 }
1645}
1646impl ::core::default::Default for Pllsta {
1647 #[inline(always)]
1648 fn default() -> Pllsta {
1649 <crate::RegValueT<Pllsta_SPEC> as RegisterValue<_>>::new(0)
1650 }
1651}
1652pub mod pllsta {
1653
1654 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1655 pub struct Plllock_SPEC;
1656 pub type Plllock = crate::EnumBitfieldStruct<u8, Plllock_SPEC>;
1657 impl Plllock {
1658 #[doc = "PLL is not locked."]
1659 pub const _0: Self = Self::new(0);
1660
1661 #[doc = "PLL is locked."]
1662 pub const _1: Self = Self::new(1);
1663 }
1664}
1665#[doc(hidden)]
1666#[derive(Copy, Clone, Eq, PartialEq)]
1667pub struct Dvstctr0_SPEC;
1668impl crate::sealed::RegSpec for Dvstctr0_SPEC {
1669 type DataType = u16;
1670}
1671
1672#[doc = "Device State Control Register 0"]
1673pub type Dvstctr0 = crate::RegValueT<Dvstctr0_SPEC>;
1674
1675impl Dvstctr0 {
1676 #[doc = "Host Negotiation Protocol (HNP) Control Use this bit when switching from device B to device A in OTGmode. If the HNPBTOA bit is 1, the internal function controlremains in the Suspend state until the HNP processing endseven if SYSCFG.DPRPU = 0 or SYSCFG.DCFM = 1 is set."]
1677 #[inline(always)]
1678 pub fn hnpbtoa(
1679 self,
1680 ) -> crate::common::RegisterFieldBool<11, 1, 0, Dvstctr0_SPEC, crate::common::RW> {
1681 crate::common::RegisterFieldBool::<11,1,0,Dvstctr0_SPEC,crate::common::RW>::from_register(self,0)
1682 }
1683
1684 #[doc = "USBHS_EXICEN Output Pin Control"]
1685 #[inline(always)]
1686 pub fn exicen(
1687 self,
1688 ) -> crate::common::RegisterField<
1689 10,
1690 0x1,
1691 1,
1692 0,
1693 dvstctr0::Exicen,
1694 dvstctr0::Exicen,
1695 Dvstctr0_SPEC,
1696 crate::common::RW,
1697 > {
1698 crate::common::RegisterField::<
1699 10,
1700 0x1,
1701 1,
1702 0,
1703 dvstctr0::Exicen,
1704 dvstctr0::Exicen,
1705 Dvstctr0_SPEC,
1706 crate::common::RW,
1707 >::from_register(self, 0)
1708 }
1709
1710 #[doc = "USBHS_VBUSEN Output Pin Control"]
1711 #[inline(always)]
1712 pub fn vbusen(
1713 self,
1714 ) -> crate::common::RegisterField<
1715 9,
1716 0x1,
1717 1,
1718 0,
1719 dvstctr0::Vbusen,
1720 dvstctr0::Vbusen,
1721 Dvstctr0_SPEC,
1722 crate::common::RW,
1723 > {
1724 crate::common::RegisterField::<
1725 9,
1726 0x1,
1727 1,
1728 0,
1729 dvstctr0::Vbusen,
1730 dvstctr0::Vbusen,
1731 Dvstctr0_SPEC,
1732 crate::common::RW,
1733 >::from_register(self, 0)
1734 }
1735
1736 #[doc = "Remote Wakeup Output for the Device Controller Operation"]
1737 #[inline(always)]
1738 pub fn wkup(
1739 self,
1740 ) -> crate::common::RegisterField<
1741 8,
1742 0x1,
1743 1,
1744 0,
1745 dvstctr0::Wkup,
1746 dvstctr0::Wkup,
1747 Dvstctr0_SPEC,
1748 crate::common::RW,
1749 > {
1750 crate::common::RegisterField::<
1751 8,
1752 0x1,
1753 1,
1754 0,
1755 dvstctr0::Wkup,
1756 dvstctr0::Wkup,
1757 Dvstctr0_SPEC,
1758 crate::common::RW,
1759 >::from_register(self, 0)
1760 }
1761
1762 #[doc = "Remote Wakeup Detection Enable for the Host Controller Operation"]
1763 #[inline(always)]
1764 pub fn rwupe(
1765 self,
1766 ) -> crate::common::RegisterField<
1767 7,
1768 0x1,
1769 1,
1770 0,
1771 dvstctr0::Rwupe,
1772 dvstctr0::Rwupe,
1773 Dvstctr0_SPEC,
1774 crate::common::RW,
1775 > {
1776 crate::common::RegisterField::<
1777 7,
1778 0x1,
1779 1,
1780 0,
1781 dvstctr0::Rwupe,
1782 dvstctr0::Rwupe,
1783 Dvstctr0_SPEC,
1784 crate::common::RW,
1785 >::from_register(self, 0)
1786 }
1787
1788 #[doc = "USB Bus Reset Output for the Host Controller Operation"]
1789 #[inline(always)]
1790 pub fn usbrst(
1791 self,
1792 ) -> crate::common::RegisterField<
1793 6,
1794 0x1,
1795 1,
1796 0,
1797 dvstctr0::Usbrst,
1798 dvstctr0::Usbrst,
1799 Dvstctr0_SPEC,
1800 crate::common::RW,
1801 > {
1802 crate::common::RegisterField::<
1803 6,
1804 0x1,
1805 1,
1806 0,
1807 dvstctr0::Usbrst,
1808 dvstctr0::Usbrst,
1809 Dvstctr0_SPEC,
1810 crate::common::RW,
1811 >::from_register(self, 0)
1812 }
1813
1814 #[doc = "Resume Signal Output for the Host Controller Operation"]
1815 #[inline(always)]
1816 pub fn resume(
1817 self,
1818 ) -> crate::common::RegisterField<
1819 5,
1820 0x1,
1821 1,
1822 0,
1823 dvstctr0::Resume,
1824 dvstctr0::Resume,
1825 Dvstctr0_SPEC,
1826 crate::common::RW,
1827 > {
1828 crate::common::RegisterField::<
1829 5,
1830 0x1,
1831 1,
1832 0,
1833 dvstctr0::Resume,
1834 dvstctr0::Resume,
1835 Dvstctr0_SPEC,
1836 crate::common::RW,
1837 >::from_register(self, 0)
1838 }
1839
1840 #[doc = "USB Bus Operation Enable for the Host Controller Operation"]
1841 #[inline(always)]
1842 pub fn uact(
1843 self,
1844 ) -> crate::common::RegisterField<
1845 4,
1846 0x1,
1847 1,
1848 0,
1849 dvstctr0::Uact,
1850 dvstctr0::Uact,
1851 Dvstctr0_SPEC,
1852 crate::common::RW,
1853 > {
1854 crate::common::RegisterField::<
1855 4,
1856 0x1,
1857 1,
1858 0,
1859 dvstctr0::Uact,
1860 dvstctr0::Uact,
1861 Dvstctr0_SPEC,
1862 crate::common::RW,
1863 >::from_register(self, 0)
1864 }
1865
1866 #[doc = "USB Bus Reset Status"]
1867 #[inline(always)]
1868 pub fn rhst(
1869 self,
1870 ) -> crate::common::RegisterField<
1871 0,
1872 0x7,
1873 1,
1874 0,
1875 dvstctr0::Rhst,
1876 dvstctr0::Rhst,
1877 Dvstctr0_SPEC,
1878 crate::common::R,
1879 > {
1880 crate::common::RegisterField::<
1881 0,
1882 0x7,
1883 1,
1884 0,
1885 dvstctr0::Rhst,
1886 dvstctr0::Rhst,
1887 Dvstctr0_SPEC,
1888 crate::common::R,
1889 >::from_register(self, 0)
1890 }
1891}
1892impl ::core::default::Default for Dvstctr0 {
1893 #[inline(always)]
1894 fn default() -> Dvstctr0 {
1895 <crate::RegValueT<Dvstctr0_SPEC> as RegisterValue<_>>::new(0)
1896 }
1897}
1898pub mod dvstctr0 {
1899
1900 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1901 pub struct Exicen_SPEC;
1902 pub type Exicen = crate::EnumBitfieldStruct<u8, Exicen_SPEC>;
1903 impl Exicen {
1904 #[doc = "Output low on external USBHS_EXICEN pin"]
1905 pub const _0: Self = Self::new(0);
1906
1907 #[doc = "Output high on external USBHS_EXICEN pin."]
1908 pub const _1: Self = Self::new(1);
1909 }
1910 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1911 pub struct Vbusen_SPEC;
1912 pub type Vbusen = crate::EnumBitfieldStruct<u8, Vbusen_SPEC>;
1913 impl Vbusen {
1914 #[doc = "Output low on external USBHS_VBUSEN pin"]
1915 pub const _0: Self = Self::new(0);
1916
1917 #[doc = "Output high on external USBHS_VBUSEN pin."]
1918 pub const _1: Self = Self::new(1);
1919 }
1920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1921 pub struct Wkup_SPEC;
1922 pub type Wkup = crate::EnumBitfieldStruct<u8, Wkup_SPEC>;
1923 impl Wkup {
1924 #[doc = "Do not output remote wakeup signal"]
1925 pub const _0: Self = Self::new(0);
1926
1927 #[doc = "Output remote wakeup signal."]
1928 pub const _1: Self = Self::new(1);
1929 }
1930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1931 pub struct Rwupe_SPEC;
1932 pub type Rwupe = crate::EnumBitfieldStruct<u8, Rwupe_SPEC>;
1933 impl Rwupe {
1934 #[doc = "Disable downstream port remote wakeup"]
1935 pub const _0: Self = Self::new(0);
1936
1937 #[doc = "Enable downstream port remote wakeup."]
1938 pub const _1: Self = Self::new(1);
1939 }
1940 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1941 pub struct Usbrst_SPEC;
1942 pub type Usbrst = crate::EnumBitfieldStruct<u8, Usbrst_SPEC>;
1943 impl Usbrst {
1944 #[doc = "Do not output USB bus reset signal"]
1945 pub const _0: Self = Self::new(0);
1946
1947 #[doc = "Output USB bus reset signal."]
1948 pub const _1: Self = Self::new(1);
1949 }
1950 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1951 pub struct Resume_SPEC;
1952 pub type Resume = crate::EnumBitfieldStruct<u8, Resume_SPEC>;
1953 impl Resume {
1954 #[doc = "Do not output resume signal"]
1955 pub const _0: Self = Self::new(0);
1956
1957 #[doc = "Output resume signal."]
1958 pub const _1: Self = Self::new(1);
1959 }
1960 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1961 pub struct Uact_SPEC;
1962 pub type Uact = crate::EnumBitfieldStruct<u8, Uact_SPEC>;
1963 impl Uact {
1964 #[doc = "Disable downstream port (disable SOF or micro-SOF transmission)"]
1965 pub const _0: Self = Self::new(0);
1966
1967 #[doc = "Enable downstream port (enable SOF or micro-SOF transmission)."]
1968 pub const _1: Self = Self::new(1);
1969 }
1970 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1971 pub struct Rhst_SPEC;
1972 pub type Rhst = crate::EnumBitfieldStruct<u8, Rhst_SPEC>;
1973 impl Rhst {
1974 #[doc = "Communication speed not determined"]
1975 pub const _000: Self = Self::new(0);
1976
1977 #[doc = "Low-speed connection(When the host controller function is selected) /USB bus reset in progress or low-speed connection(When the function controller function is selected)"]
1978 pub const _001: Self = Self::new(1);
1979
1980 #[doc = "Full-speed connection(When the host controller function is selected) /USB bus reset in progress or full-speed connection(When the function controller function is selected)"]
1981 pub const _010: Self = Self::new(2);
1982
1983 #[doc = "Setting prohibited"]
1984 pub const _011: Self = Self::new(3);
1985 }
1986}
1987#[doc(hidden)]
1988#[derive(Copy, Clone, Eq, PartialEq)]
1989pub struct Testmode_SPEC;
1990impl crate::sealed::RegSpec for Testmode_SPEC {
1991 type DataType = u16;
1992}
1993
1994#[doc = "USB Test Mode Register"]
1995pub type Testmode = crate::RegValueT<Testmode_SPEC>;
1996
1997impl Testmode {
1998 #[doc = "Test Mode"]
1999 #[inline(always)]
2000 pub fn utst(
2001 self,
2002 ) -> crate::common::RegisterField<
2003 0,
2004 0xf,
2005 1,
2006 0,
2007 testmode::Utst,
2008 testmode::Utst,
2009 Testmode_SPEC,
2010 crate::common::RW,
2011 > {
2012 crate::common::RegisterField::<
2013 0,
2014 0xf,
2015 1,
2016 0,
2017 testmode::Utst,
2018 testmode::Utst,
2019 Testmode_SPEC,
2020 crate::common::RW,
2021 >::from_register(self, 0)
2022 }
2023}
2024impl ::core::default::Default for Testmode {
2025 #[inline(always)]
2026 fn default() -> Testmode {
2027 <crate::RegValueT<Testmode_SPEC> as RegisterValue<_>>::new(0)
2028 }
2029}
2030pub mod testmode {
2031
2032 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2033 pub struct Utst_SPEC;
2034 pub type Utst = crate::EnumBitfieldStruct<u8, Utst_SPEC>;
2035 impl Utst {
2036 #[doc = "Normal operation"]
2037 pub const _0000: Self = Self::new(0);
2038
2039 #[doc = "Test_J TestMode(When the Function Controller Function is Selected)"]
2040 pub const _0001: Self = Self::new(1);
2041
2042 #[doc = "Test_K TestMode(When the Function Controller Function is Selected)"]
2043 pub const _0010: Self = Self::new(2);
2044
2045 #[doc = "Test_SE0_NAK TestMode(When the Function Controller Function is Selected)"]
2046 pub const _0011: Self = Self::new(3);
2047
2048 #[doc = "Test_Packet TestMode(When the Function Controller Function is Selected)"]
2049 pub const _0100: Self = Self::new(4);
2050
2051 #[doc = "Reserved TestMode(When the Function Controller Function is Selected)"]
2052 pub const _0101: Self = Self::new(5);
2053
2054 #[doc = "Reserved TestMode(When the Function Controller Function is Selected)"]
2055 pub const _0110: Self = Self::new(6);
2056
2057 #[doc = "Reserved TestMode(When the Function Controller Function is Selected)"]
2058 pub const _0111: Self = Self::new(7);
2059
2060 #[doc = "Test_J TestMode(When the Host Controller Function is Selected)"]
2061 pub const _1001: Self = Self::new(9);
2062
2063 #[doc = "Test_K TestMode(When the Host Controller Function is Selected)"]
2064 pub const _1010: Self = Self::new(10);
2065
2066 #[doc = "Test_SE0_NAK TestMode(When the Host Controller Function is Selected)"]
2067 pub const _1011: Self = Self::new(11);
2068
2069 #[doc = "Test_Packet TestMode(When the Host Controller Function is Selected)"]
2070 pub const _1100: Self = Self::new(12);
2071
2072 #[doc = "Test_Force_EnableTestMode(When the Host Controller Function is Selected)"]
2073 pub const _1101: Self = Self::new(13);
2074
2075 #[doc = "Reserved TestMode(When the Host Controller Function is Selected)"]
2076 pub const _1110: Self = Self::new(14);
2077
2078 #[doc = "Reserved TestMode(When the Host Controller Function is Selected)"]
2079 pub const _1111: Self = Self::new(15);
2080 }
2081}
2082#[doc(hidden)]
2083#[derive(Copy, Clone, Eq, PartialEq)]
2084pub struct Cfifo_SPEC;
2085impl crate::sealed::RegSpec for Cfifo_SPEC {
2086 type DataType = u32;
2087}
2088
2089#[doc = "CFIFO Port Register"]
2090pub type Cfifo = crate::RegValueT<Cfifo_SPEC>;
2091
2092impl Cfifo {
2093 #[doc = "FIFO Port.Read receive data from the FIFO buffer or write transmit data to the FIFO buffer by accessing these bits."]
2094 #[inline(always)]
2095 pub fn fifoport(
2096 self,
2097 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, Cfifo_SPEC, crate::common::RW>
2098 {
2099 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,Cfifo_SPEC,crate::common::RW>::from_register(self,0)
2100 }
2101}
2102impl ::core::default::Default for Cfifo {
2103 #[inline(always)]
2104 fn default() -> Cfifo {
2105 <crate::RegValueT<Cfifo_SPEC> as RegisterValue<_>>::new(0)
2106 }
2107}
2108
2109#[doc(hidden)]
2110#[derive(Copy, Clone, Eq, PartialEq)]
2111pub struct Cfifol_SPEC;
2112impl crate::sealed::RegSpec for Cfifol_SPEC {
2113 type DataType = u16;
2114}
2115
2116#[doc = "CFIFO Port Register L"]
2117pub type Cfifol = crate::RegValueT<Cfifol_SPEC>;
2118
2119impl NoBitfieldReg<Cfifol_SPEC> for Cfifol {}
2120impl ::core::default::Default for Cfifol {
2121 #[inline(always)]
2122 fn default() -> Cfifol {
2123 <crate::RegValueT<Cfifol_SPEC> as RegisterValue<_>>::new(0)
2124 }
2125}
2126
2127#[doc(hidden)]
2128#[derive(Copy, Clone, Eq, PartialEq)]
2129pub struct Cfifoh_SPEC;
2130impl crate::sealed::RegSpec for Cfifoh_SPEC {
2131 type DataType = u16;
2132}
2133
2134#[doc = "CFIFO Port Register H"]
2135pub type Cfifoh = crate::RegValueT<Cfifoh_SPEC>;
2136
2137impl NoBitfieldReg<Cfifoh_SPEC> for Cfifoh {}
2138impl ::core::default::Default for Cfifoh {
2139 #[inline(always)]
2140 fn default() -> Cfifoh {
2141 <crate::RegValueT<Cfifoh_SPEC> as RegisterValue<_>>::new(0)
2142 }
2143}
2144
2145#[doc(hidden)]
2146#[derive(Copy, Clone, Eq, PartialEq)]
2147pub struct Cfifoll_SPEC;
2148impl crate::sealed::RegSpec for Cfifoll_SPEC {
2149 type DataType = u8;
2150}
2151
2152#[doc = "CFIFO Port Register LL"]
2153pub type Cfifoll = crate::RegValueT<Cfifoll_SPEC>;
2154
2155impl NoBitfieldReg<Cfifoll_SPEC> for Cfifoll {}
2156impl ::core::default::Default for Cfifoll {
2157 #[inline(always)]
2158 fn default() -> Cfifoll {
2159 <crate::RegValueT<Cfifoll_SPEC> as RegisterValue<_>>::new(0)
2160 }
2161}
2162
2163#[doc(hidden)]
2164#[derive(Copy, Clone, Eq, PartialEq)]
2165pub struct Cfifohh_SPEC;
2166impl crate::sealed::RegSpec for Cfifohh_SPEC {
2167 type DataType = u8;
2168}
2169
2170#[doc = "CFIFO Port Register HH"]
2171pub type Cfifohh = crate::RegValueT<Cfifohh_SPEC>;
2172
2173impl NoBitfieldReg<Cfifohh_SPEC> for Cfifohh {}
2174impl ::core::default::Default for Cfifohh {
2175 #[inline(always)]
2176 fn default() -> Cfifohh {
2177 <crate::RegValueT<Cfifohh_SPEC> as RegisterValue<_>>::new(0)
2178 }
2179}
2180
2181#[doc(hidden)]
2182#[derive(Copy, Clone, Eq, PartialEq)]
2183pub struct D0Fifo_SPEC;
2184impl crate::sealed::RegSpec for D0Fifo_SPEC {
2185 type DataType = u32;
2186}
2187
2188#[doc = "D0FIFO Port Register"]
2189pub type D0Fifo = crate::RegValueT<D0Fifo_SPEC>;
2190
2191impl D0Fifo {
2192 #[doc = "FIFO Port Read receive data from the FIFO buffer or write transmit data to the FIFO buffer by accessing these bits."]
2193 #[inline(always)]
2194 pub fn fifoport(
2195 self,
2196 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, D0Fifo_SPEC, crate::common::RW>
2197 {
2198 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,D0Fifo_SPEC,crate::common::RW>::from_register(self,0)
2199 }
2200}
2201impl ::core::default::Default for D0Fifo {
2202 #[inline(always)]
2203 fn default() -> D0Fifo {
2204 <crate::RegValueT<D0Fifo_SPEC> as RegisterValue<_>>::new(0)
2205 }
2206}
2207
2208#[doc(hidden)]
2209#[derive(Copy, Clone, Eq, PartialEq)]
2210pub struct D0Fifol_SPEC;
2211impl crate::sealed::RegSpec for D0Fifol_SPEC {
2212 type DataType = u16;
2213}
2214
2215#[doc = "D0FIFO Port Register L"]
2216pub type D0Fifol = crate::RegValueT<D0Fifol_SPEC>;
2217
2218impl NoBitfieldReg<D0Fifol_SPEC> for D0Fifol {}
2219impl ::core::default::Default for D0Fifol {
2220 #[inline(always)]
2221 fn default() -> D0Fifol {
2222 <crate::RegValueT<D0Fifol_SPEC> as RegisterValue<_>>::new(0)
2223 }
2224}
2225
2226#[doc(hidden)]
2227#[derive(Copy, Clone, Eq, PartialEq)]
2228pub struct D0Fifoh_SPEC;
2229impl crate::sealed::RegSpec for D0Fifoh_SPEC {
2230 type DataType = u16;
2231}
2232
2233#[doc = "D0FIFO Port Register H"]
2234pub type D0Fifoh = crate::RegValueT<D0Fifoh_SPEC>;
2235
2236impl NoBitfieldReg<D0Fifoh_SPEC> for D0Fifoh {}
2237impl ::core::default::Default for D0Fifoh {
2238 #[inline(always)]
2239 fn default() -> D0Fifoh {
2240 <crate::RegValueT<D0Fifoh_SPEC> as RegisterValue<_>>::new(0)
2241 }
2242}
2243
2244#[doc(hidden)]
2245#[derive(Copy, Clone, Eq, PartialEq)]
2246pub struct D0Fifoll_SPEC;
2247impl crate::sealed::RegSpec for D0Fifoll_SPEC {
2248 type DataType = u8;
2249}
2250
2251#[doc = "D0FIFO Port Register LL"]
2252pub type D0Fifoll = crate::RegValueT<D0Fifoll_SPEC>;
2253
2254impl NoBitfieldReg<D0Fifoll_SPEC> for D0Fifoll {}
2255impl ::core::default::Default for D0Fifoll {
2256 #[inline(always)]
2257 fn default() -> D0Fifoll {
2258 <crate::RegValueT<D0Fifoll_SPEC> as RegisterValue<_>>::new(0)
2259 }
2260}
2261
2262#[doc(hidden)]
2263#[derive(Copy, Clone, Eq, PartialEq)]
2264pub struct D0Fifohh_SPEC;
2265impl crate::sealed::RegSpec for D0Fifohh_SPEC {
2266 type DataType = u8;
2267}
2268
2269#[doc = "D0FIFO Port Register HH"]
2270pub type D0Fifohh = crate::RegValueT<D0Fifohh_SPEC>;
2271
2272impl NoBitfieldReg<D0Fifohh_SPEC> for D0Fifohh {}
2273impl ::core::default::Default for D0Fifohh {
2274 #[inline(always)]
2275 fn default() -> D0Fifohh {
2276 <crate::RegValueT<D0Fifohh_SPEC> as RegisterValue<_>>::new(0)
2277 }
2278}
2279
2280#[doc(hidden)]
2281#[derive(Copy, Clone, Eq, PartialEq)]
2282pub struct D1Fifo_SPEC;
2283impl crate::sealed::RegSpec for D1Fifo_SPEC {
2284 type DataType = u32;
2285}
2286
2287#[doc = "D1FIFO Port Register"]
2288pub type D1Fifo = crate::RegValueT<D1Fifo_SPEC>;
2289
2290impl D1Fifo {
2291 #[doc = "FIFO PortRead receive data from the FIFO buffer or write transmit data to the FIFO buffer by accessing these bits."]
2292 #[inline(always)]
2293 pub fn fifoport(
2294 self,
2295 ) -> crate::common::RegisterField<0, 0xffffffff, 1, 0, u32, u32, D1Fifo_SPEC, crate::common::RW>
2296 {
2297 crate::common::RegisterField::<0,0xffffffff,1,0,u32,u32,D1Fifo_SPEC,crate::common::RW>::from_register(self,0)
2298 }
2299}
2300impl ::core::default::Default for D1Fifo {
2301 #[inline(always)]
2302 fn default() -> D1Fifo {
2303 <crate::RegValueT<D1Fifo_SPEC> as RegisterValue<_>>::new(0)
2304 }
2305}
2306
2307#[doc(hidden)]
2308#[derive(Copy, Clone, Eq, PartialEq)]
2309pub struct D1Fifol_SPEC;
2310impl crate::sealed::RegSpec for D1Fifol_SPEC {
2311 type DataType = u16;
2312}
2313
2314#[doc = "D1FIFO Port Register L"]
2315pub type D1Fifol = crate::RegValueT<D1Fifol_SPEC>;
2316
2317impl NoBitfieldReg<D1Fifol_SPEC> for D1Fifol {}
2318impl ::core::default::Default for D1Fifol {
2319 #[inline(always)]
2320 fn default() -> D1Fifol {
2321 <crate::RegValueT<D1Fifol_SPEC> as RegisterValue<_>>::new(0)
2322 }
2323}
2324
2325#[doc(hidden)]
2326#[derive(Copy, Clone, Eq, PartialEq)]
2327pub struct D1Fifoh_SPEC;
2328impl crate::sealed::RegSpec for D1Fifoh_SPEC {
2329 type DataType = u16;
2330}
2331
2332#[doc = "D1FIFO Port Register H"]
2333pub type D1Fifoh = crate::RegValueT<D1Fifoh_SPEC>;
2334
2335impl NoBitfieldReg<D1Fifoh_SPEC> for D1Fifoh {}
2336impl ::core::default::Default for D1Fifoh {
2337 #[inline(always)]
2338 fn default() -> D1Fifoh {
2339 <crate::RegValueT<D1Fifoh_SPEC> as RegisterValue<_>>::new(0)
2340 }
2341}
2342
2343#[doc(hidden)]
2344#[derive(Copy, Clone, Eq, PartialEq)]
2345pub struct D1Fifoll_SPEC;
2346impl crate::sealed::RegSpec for D1Fifoll_SPEC {
2347 type DataType = u8;
2348}
2349
2350#[doc = "D1FIFO Port Register LL"]
2351pub type D1Fifoll = crate::RegValueT<D1Fifoll_SPEC>;
2352
2353impl NoBitfieldReg<D1Fifoll_SPEC> for D1Fifoll {}
2354impl ::core::default::Default for D1Fifoll {
2355 #[inline(always)]
2356 fn default() -> D1Fifoll {
2357 <crate::RegValueT<D1Fifoll_SPEC> as RegisterValue<_>>::new(0)
2358 }
2359}
2360
2361#[doc(hidden)]
2362#[derive(Copy, Clone, Eq, PartialEq)]
2363pub struct D1Fifohh_SPEC;
2364impl crate::sealed::RegSpec for D1Fifohh_SPEC {
2365 type DataType = u8;
2366}
2367
2368#[doc = "D1FIFO Port Register HH"]
2369pub type D1Fifohh = crate::RegValueT<D1Fifohh_SPEC>;
2370
2371impl NoBitfieldReg<D1Fifohh_SPEC> for D1Fifohh {}
2372impl ::core::default::Default for D1Fifohh {
2373 #[inline(always)]
2374 fn default() -> D1Fifohh {
2375 <crate::RegValueT<D1Fifohh_SPEC> as RegisterValue<_>>::new(0)
2376 }
2377}
2378
2379#[doc(hidden)]
2380#[derive(Copy, Clone, Eq, PartialEq)]
2381pub struct Cfifosel_SPEC;
2382impl crate::sealed::RegSpec for Cfifosel_SPEC {
2383 type DataType = u16;
2384}
2385
2386#[doc = "CFIFO Port Select Register"]
2387pub type Cfifosel = crate::RegValueT<Cfifosel_SPEC>;
2388
2389impl Cfifosel {
2390 #[doc = "Read Count Mode"]
2391 #[inline(always)]
2392 pub fn rcnt(
2393 self,
2394 ) -> crate::common::RegisterField<
2395 15,
2396 0x1,
2397 1,
2398 0,
2399 cfifosel::Rcnt,
2400 cfifosel::Rcnt,
2401 Cfifosel_SPEC,
2402 crate::common::RW,
2403 > {
2404 crate::common::RegisterField::<
2405 15,
2406 0x1,
2407 1,
2408 0,
2409 cfifosel::Rcnt,
2410 cfifosel::Rcnt,
2411 Cfifosel_SPEC,
2412 crate::common::RW,
2413 >::from_register(self, 0)
2414 }
2415
2416 #[doc = "Buffer Pointer Rewind"]
2417 #[inline(always)]
2418 pub fn rew(
2419 self,
2420 ) -> crate::common::RegisterField<
2421 14,
2422 0x1,
2423 1,
2424 0,
2425 cfifosel::Rew,
2426 cfifosel::Rew,
2427 Cfifosel_SPEC,
2428 crate::common::W,
2429 > {
2430 crate::common::RegisterField::<
2431 14,
2432 0x1,
2433 1,
2434 0,
2435 cfifosel::Rew,
2436 cfifosel::Rew,
2437 Cfifosel_SPEC,
2438 crate::common::W,
2439 >::from_register(self, 0)
2440 }
2441
2442 #[doc = "CFIFO Port Access Bit Width"]
2443 #[inline(always)]
2444 pub fn mbw(
2445 self,
2446 ) -> crate::common::RegisterField<
2447 10,
2448 0x3,
2449 1,
2450 0,
2451 cfifosel::Mbw,
2452 cfifosel::Mbw,
2453 Cfifosel_SPEC,
2454 crate::common::RW,
2455 > {
2456 crate::common::RegisterField::<
2457 10,
2458 0x3,
2459 1,
2460 0,
2461 cfifosel::Mbw,
2462 cfifosel::Mbw,
2463 Cfifosel_SPEC,
2464 crate::common::RW,
2465 >::from_register(self, 0)
2466 }
2467
2468 #[doc = "FIFO Port Endian Control"]
2469 #[inline(always)]
2470 pub fn bigend(
2471 self,
2472 ) -> crate::common::RegisterField<
2473 8,
2474 0x1,
2475 1,
2476 0,
2477 cfifosel::Bigend,
2478 cfifosel::Bigend,
2479 Cfifosel_SPEC,
2480 crate::common::RW,
2481 > {
2482 crate::common::RegisterField::<
2483 8,
2484 0x1,
2485 1,
2486 0,
2487 cfifosel::Bigend,
2488 cfifosel::Bigend,
2489 Cfifosel_SPEC,
2490 crate::common::RW,
2491 >::from_register(self, 0)
2492 }
2493
2494 #[doc = "FIFO Port Access Direction when DCP is Selected"]
2495 #[inline(always)]
2496 pub fn isel(
2497 self,
2498 ) -> crate::common::RegisterField<
2499 5,
2500 0x1,
2501 1,
2502 0,
2503 cfifosel::Isel,
2504 cfifosel::Isel,
2505 Cfifosel_SPEC,
2506 crate::common::RW,
2507 > {
2508 crate::common::RegisterField::<
2509 5,
2510 0x1,
2511 1,
2512 0,
2513 cfifosel::Isel,
2514 cfifosel::Isel,
2515 Cfifosel_SPEC,
2516 crate::common::RW,
2517 >::from_register(self, 0)
2518 }
2519
2520 #[doc = "FIFO Port Access Pipe Specification"]
2521 #[inline(always)]
2522 pub fn curpipe(
2523 self,
2524 ) -> crate::common::RegisterField<
2525 0,
2526 0xf,
2527 1,
2528 0,
2529 cfifosel::Curpipe,
2530 cfifosel::Curpipe,
2531 Cfifosel_SPEC,
2532 crate::common::RW,
2533 > {
2534 crate::common::RegisterField::<
2535 0,
2536 0xf,
2537 1,
2538 0,
2539 cfifosel::Curpipe,
2540 cfifosel::Curpipe,
2541 Cfifosel_SPEC,
2542 crate::common::RW,
2543 >::from_register(self, 0)
2544 }
2545}
2546impl ::core::default::Default for Cfifosel {
2547 #[inline(always)]
2548 fn default() -> Cfifosel {
2549 <crate::RegValueT<Cfifosel_SPEC> as RegisterValue<_>>::new(0)
2550 }
2551}
2552pub mod cfifosel {
2553
2554 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2555 pub struct Rcnt_SPEC;
2556 pub type Rcnt = crate::EnumBitfieldStruct<u8, Rcnt_SPEC>;
2557 impl Rcnt {
2558 #[doc = "Clear DTLN\\[11:0\\] flags in the FIFO port control register to 000h when all receive data is read from CFIFO"]
2559 pub const _0: Self = Self::new(0);
2560
2561 #[doc = "Decrement DTLN\\[11:0\\] flags each time receive data is read from CFIFO."]
2562 pub const _1: Self = Self::new(1);
2563 }
2564 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2565 pub struct Rew_SPEC;
2566 pub type Rew = crate::EnumBitfieldStruct<u8, Rew_SPEC>;
2567 impl Rew {
2568 #[doc = "Do not rewind buffer pointer (Writing 0 has no effect.)"]
2569 pub const _0: Self = Self::new(0);
2570
2571 #[doc = "Rewind buffer pointer."]
2572 pub const _1: Self = Self::new(1);
2573 }
2574 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2575 pub struct Mbw_SPEC;
2576 pub type Mbw = crate::EnumBitfieldStruct<u8, Mbw_SPEC>;
2577 impl Mbw {
2578 #[doc = "8-bit width"]
2579 pub const _00: Self = Self::new(0);
2580
2581 #[doc = "16-bit width"]
2582 pub const _01: Self = Self::new(1);
2583
2584 #[doc = "32-bit width"]
2585 pub const _10: Self = Self::new(2);
2586
2587 #[doc = "Setting prohibited"]
2588 pub const _11: Self = Self::new(3);
2589 }
2590 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2591 pub struct Bigend_SPEC;
2592 pub type Bigend = crate::EnumBitfieldStruct<u8, Bigend_SPEC>;
2593 impl Bigend {
2594 #[doc = "Little endian"]
2595 pub const _0: Self = Self::new(0);
2596
2597 #[doc = "Big endian"]
2598 pub const _1: Self = Self::new(1);
2599 }
2600 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2601 pub struct Isel_SPEC;
2602 pub type Isel = crate::EnumBitfieldStruct<u8, Isel_SPEC>;
2603 impl Isel {
2604 #[doc = "Select reading from the FIFO buffer"]
2605 pub const _0: Self = Self::new(0);
2606
2607 #[doc = "Select writing to the FIFO buffer."]
2608 pub const _1: Self = Self::new(1);
2609 }
2610 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2611 pub struct Curpipe_SPEC;
2612 pub type Curpipe = crate::EnumBitfieldStruct<u8, Curpipe_SPEC>;
2613 impl Curpipe {
2614 #[doc = "DCP"]
2615 pub const _0000: Self = Self::new(0);
2616
2617 #[doc = "PIPE1"]
2618 pub const _0001: Self = Self::new(1);
2619
2620 #[doc = "PIPE2"]
2621 pub const _0010: Self = Self::new(2);
2622
2623 #[doc = "PIPE3"]
2624 pub const _0011: Self = Self::new(3);
2625
2626 #[doc = "PIPE4"]
2627 pub const _0100: Self = Self::new(4);
2628
2629 #[doc = "PIPE5"]
2630 pub const _0101: Self = Self::new(5);
2631
2632 #[doc = "PIPE6"]
2633 pub const _0110: Self = Self::new(6);
2634
2635 #[doc = "PIPE7"]
2636 pub const _0111: Self = Self::new(7);
2637
2638 #[doc = "PIPE8"]
2639 pub const _1000: Self = Self::new(8);
2640
2641 #[doc = "PIPE9"]
2642 pub const _1001: Self = Self::new(9);
2643 }
2644}
2645#[doc(hidden)]
2646#[derive(Copy, Clone, Eq, PartialEq)]
2647pub struct D0Fifosel_SPEC;
2648impl crate::sealed::RegSpec for D0Fifosel_SPEC {
2649 type DataType = u16;
2650}
2651
2652#[doc = "D0FIFO Port Select Register"]
2653pub type D0Fifosel = crate::RegValueT<D0Fifosel_SPEC>;
2654
2655impl D0Fifosel {
2656 #[doc = "Read Count Mode"]
2657 #[inline(always)]
2658 pub fn rcnt(
2659 self,
2660 ) -> crate::common::RegisterField<
2661 15,
2662 0x1,
2663 1,
2664 0,
2665 d0fifosel::Rcnt,
2666 d0fifosel::Rcnt,
2667 D0Fifosel_SPEC,
2668 crate::common::RW,
2669 > {
2670 crate::common::RegisterField::<
2671 15,
2672 0x1,
2673 1,
2674 0,
2675 d0fifosel::Rcnt,
2676 d0fifosel::Rcnt,
2677 D0Fifosel_SPEC,
2678 crate::common::RW,
2679 >::from_register(self, 0)
2680 }
2681
2682 #[doc = "Buffer Pointer Rewind"]
2683 #[inline(always)]
2684 pub fn rew(
2685 self,
2686 ) -> crate::common::RegisterField<
2687 14,
2688 0x1,
2689 1,
2690 0,
2691 d0fifosel::Rew,
2692 d0fifosel::Rew,
2693 D0Fifosel_SPEC,
2694 crate::common::W,
2695 > {
2696 crate::common::RegisterField::<
2697 14,
2698 0x1,
2699 1,
2700 0,
2701 d0fifosel::Rew,
2702 d0fifosel::Rew,
2703 D0Fifosel_SPEC,
2704 crate::common::W,
2705 >::from_register(self, 0)
2706 }
2707
2708 #[doc = "Auto Buffer Memory Clear Mode Accessed after Specified Pipe Data is Read"]
2709 #[inline(always)]
2710 pub fn dclrm(
2711 self,
2712 ) -> crate::common::RegisterField<
2713 13,
2714 0x1,
2715 1,
2716 0,
2717 d0fifosel::Dclrm,
2718 d0fifosel::Dclrm,
2719 D0Fifosel_SPEC,
2720 crate::common::RW,
2721 > {
2722 crate::common::RegisterField::<
2723 13,
2724 0x1,
2725 1,
2726 0,
2727 d0fifosel::Dclrm,
2728 d0fifosel::Dclrm,
2729 D0Fifosel_SPEC,
2730 crate::common::RW,
2731 >::from_register(self, 0)
2732 }
2733
2734 #[doc = "UCL_Dx_DREQ Signal Output Enable"]
2735 #[inline(always)]
2736 pub fn dreqe(
2737 self,
2738 ) -> crate::common::RegisterField<
2739 12,
2740 0x1,
2741 1,
2742 0,
2743 d0fifosel::Dreqe,
2744 d0fifosel::Dreqe,
2745 D0Fifosel_SPEC,
2746 crate::common::RW,
2747 > {
2748 crate::common::RegisterField::<
2749 12,
2750 0x1,
2751 1,
2752 0,
2753 d0fifosel::Dreqe,
2754 d0fifosel::Dreqe,
2755 D0Fifosel_SPEC,
2756 crate::common::RW,
2757 >::from_register(self, 0)
2758 }
2759
2760 #[doc = "FIFO Port Access Bit Width"]
2761 #[inline(always)]
2762 pub fn mbw(
2763 self,
2764 ) -> crate::common::RegisterField<
2765 10,
2766 0x3,
2767 1,
2768 0,
2769 d0fifosel::Mbw,
2770 d0fifosel::Mbw,
2771 D0Fifosel_SPEC,
2772 crate::common::RW,
2773 > {
2774 crate::common::RegisterField::<
2775 10,
2776 0x3,
2777 1,
2778 0,
2779 d0fifosel::Mbw,
2780 d0fifosel::Mbw,
2781 D0Fifosel_SPEC,
2782 crate::common::RW,
2783 >::from_register(self, 0)
2784 }
2785
2786 #[doc = "FIFO Port Endian Control"]
2787 #[inline(always)]
2788 pub fn bigend(
2789 self,
2790 ) -> crate::common::RegisterField<
2791 8,
2792 0x1,
2793 1,
2794 0,
2795 d0fifosel::Bigend,
2796 d0fifosel::Bigend,
2797 D0Fifosel_SPEC,
2798 crate::common::RW,
2799 > {
2800 crate::common::RegisterField::<
2801 8,
2802 0x1,
2803 1,
2804 0,
2805 d0fifosel::Bigend,
2806 d0fifosel::Bigend,
2807 D0Fifosel_SPEC,
2808 crate::common::RW,
2809 >::from_register(self, 0)
2810 }
2811
2812 #[doc = "FIFO Port Access Pipe Specification"]
2813 #[inline(always)]
2814 pub fn curpipe(
2815 self,
2816 ) -> crate::common::RegisterField<
2817 0,
2818 0xf,
2819 1,
2820 0,
2821 d0fifosel::Curpipe,
2822 d0fifosel::Curpipe,
2823 D0Fifosel_SPEC,
2824 crate::common::RW,
2825 > {
2826 crate::common::RegisterField::<
2827 0,
2828 0xf,
2829 1,
2830 0,
2831 d0fifosel::Curpipe,
2832 d0fifosel::Curpipe,
2833 D0Fifosel_SPEC,
2834 crate::common::RW,
2835 >::from_register(self, 0)
2836 }
2837}
2838impl ::core::default::Default for D0Fifosel {
2839 #[inline(always)]
2840 fn default() -> D0Fifosel {
2841 <crate::RegValueT<D0Fifosel_SPEC> as RegisterValue<_>>::new(0)
2842 }
2843}
2844pub mod d0fifosel {
2845
2846 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2847 pub struct Rcnt_SPEC;
2848 pub type Rcnt = crate::EnumBitfieldStruct<u8, Rcnt_SPEC>;
2849 impl Rcnt {
2850 #[doc = "The DTLN bits are cleared when all of the receive data has been read from the CFIFO"]
2851 pub const _0: Self = Self::new(0);
2852
2853 #[doc = "The DTLN bits are decremented each time the receive data is read from the CFIFO"]
2854 pub const _1: Self = Self::new(1);
2855 }
2856 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2857 pub struct Rew_SPEC;
2858 pub type Rew = crate::EnumBitfieldStruct<u8, Rew_SPEC>;
2859 impl Rew {
2860 #[doc = "The buffer pointer is not rewound"]
2861 pub const _0: Self = Self::new(0);
2862
2863 #[doc = "The buffer pointer is rewound"]
2864 pub const _1: Self = Self::new(1);
2865 }
2866 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2867 pub struct Dclrm_SPEC;
2868 pub type Dclrm = crate::EnumBitfieldStruct<u8, Dclrm_SPEC>;
2869 impl Dclrm {
2870 #[doc = "Auto buffer clear mode is disabled"]
2871 pub const _0: Self = Self::new(0);
2872
2873 #[doc = "Auto buffer clear mode is enabled"]
2874 pub const _1: Self = Self::new(1);
2875 }
2876 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2877 pub struct Dreqe_SPEC;
2878 pub type Dreqe = crate::EnumBitfieldStruct<u8, Dreqe_SPEC>;
2879 impl Dreqe {
2880 #[doc = "Disables the output"]
2881 pub const _0: Self = Self::new(0);
2882
2883 #[doc = "Enables the output"]
2884 pub const _1: Self = Self::new(1);
2885 }
2886 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2887 pub struct Mbw_SPEC;
2888 pub type Mbw = crate::EnumBitfieldStruct<u8, Mbw_SPEC>;
2889 impl Mbw {
2890 #[doc = "8-bit width"]
2891 pub const _00: Self = Self::new(0);
2892
2893 #[doc = "16-bit width"]
2894 pub const _01: Self = Self::new(1);
2895
2896 #[doc = "32-bit width"]
2897 pub const _10: Self = Self::new(2);
2898
2899 #[doc = "Setting prohibited"]
2900 pub const _11: Self = Self::new(3);
2901 }
2902 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2903 pub struct Bigend_SPEC;
2904 pub type Bigend = crate::EnumBitfieldStruct<u8, Bigend_SPEC>;
2905 impl Bigend {
2906 #[doc = "Little endian"]
2907 pub const _0: Self = Self::new(0);
2908
2909 #[doc = "Big endian"]
2910 pub const _1: Self = Self::new(1);
2911 }
2912 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2913 pub struct Curpipe_SPEC;
2914 pub type Curpipe = crate::EnumBitfieldStruct<u8, Curpipe_SPEC>;
2915 impl Curpipe {
2916 #[doc = "No pipe specified"]
2917 pub const _0000: Self = Self::new(0);
2918
2919 #[doc = "Pipe1"]
2920 pub const _0001: Self = Self::new(1);
2921
2922 #[doc = "Pipe 2"]
2923 pub const _0010: Self = Self::new(2);
2924
2925 #[doc = "Pipe 3"]
2926 pub const _0011: Self = Self::new(3);
2927
2928 #[doc = "Pipe 4"]
2929 pub const _0100: Self = Self::new(4);
2930
2931 #[doc = "Pipe 5"]
2932 pub const _0101: Self = Self::new(5);
2933
2934 #[doc = "Pipe 6"]
2935 pub const _0110: Self = Self::new(6);
2936
2937 #[doc = "Pipe 7"]
2938 pub const _0111: Self = Self::new(7);
2939
2940 #[doc = "Pipe 8"]
2941 pub const _1000: Self = Self::new(8);
2942
2943 #[doc = "Pipe 9"]
2944 pub const _1001: Self = Self::new(9);
2945 }
2946}
2947#[doc(hidden)]
2948#[derive(Copy, Clone, Eq, PartialEq)]
2949pub struct D1Fifosel_SPEC;
2950impl crate::sealed::RegSpec for D1Fifosel_SPEC {
2951 type DataType = u16;
2952}
2953
2954#[doc = "D1FIFO Port Select Register"]
2955pub type D1Fifosel = crate::RegValueT<D1Fifosel_SPEC>;
2956
2957impl D1Fifosel {
2958 #[doc = "Read Count Mode"]
2959 #[inline(always)]
2960 pub fn rcnt(
2961 self,
2962 ) -> crate::common::RegisterField<
2963 15,
2964 0x1,
2965 1,
2966 0,
2967 d1fifosel::Rcnt,
2968 d1fifosel::Rcnt,
2969 D1Fifosel_SPEC,
2970 crate::common::RW,
2971 > {
2972 crate::common::RegisterField::<
2973 15,
2974 0x1,
2975 1,
2976 0,
2977 d1fifosel::Rcnt,
2978 d1fifosel::Rcnt,
2979 D1Fifosel_SPEC,
2980 crate::common::RW,
2981 >::from_register(self, 0)
2982 }
2983
2984 #[doc = "Buffer Pointer Rewind"]
2985 #[inline(always)]
2986 pub fn rew(
2987 self,
2988 ) -> crate::common::RegisterField<
2989 14,
2990 0x1,
2991 1,
2992 0,
2993 d1fifosel::Rew,
2994 d1fifosel::Rew,
2995 D1Fifosel_SPEC,
2996 crate::common::W,
2997 > {
2998 crate::common::RegisterField::<
2999 14,
3000 0x1,
3001 1,
3002 0,
3003 d1fifosel::Rew,
3004 d1fifosel::Rew,
3005 D1Fifosel_SPEC,
3006 crate::common::W,
3007 >::from_register(self, 0)
3008 }
3009
3010 #[doc = "Auto Buffer Memory Clear Mode Accessed after Specified Pipe Data is Read"]
3011 #[inline(always)]
3012 pub fn dclrm(
3013 self,
3014 ) -> crate::common::RegisterField<
3015 13,
3016 0x1,
3017 1,
3018 0,
3019 d1fifosel::Dclrm,
3020 d1fifosel::Dclrm,
3021 D1Fifosel_SPEC,
3022 crate::common::RW,
3023 > {
3024 crate::common::RegisterField::<
3025 13,
3026 0x1,
3027 1,
3028 0,
3029 d1fifosel::Dclrm,
3030 d1fifosel::Dclrm,
3031 D1Fifosel_SPEC,
3032 crate::common::RW,
3033 >::from_register(self, 0)
3034 }
3035
3036 #[doc = "UCL_Dx_DREQ Signal Output Enable"]
3037 #[inline(always)]
3038 pub fn dreqe(
3039 self,
3040 ) -> crate::common::RegisterField<
3041 12,
3042 0x1,
3043 1,
3044 0,
3045 d1fifosel::Dreqe,
3046 d1fifosel::Dreqe,
3047 D1Fifosel_SPEC,
3048 crate::common::RW,
3049 > {
3050 crate::common::RegisterField::<
3051 12,
3052 0x1,
3053 1,
3054 0,
3055 d1fifosel::Dreqe,
3056 d1fifosel::Dreqe,
3057 D1Fifosel_SPEC,
3058 crate::common::RW,
3059 >::from_register(self, 0)
3060 }
3061
3062 #[doc = "FIFO Port Access Bit Width"]
3063 #[inline(always)]
3064 pub fn mbw(
3065 self,
3066 ) -> crate::common::RegisterField<
3067 10,
3068 0x3,
3069 1,
3070 0,
3071 d1fifosel::Mbw,
3072 d1fifosel::Mbw,
3073 D1Fifosel_SPEC,
3074 crate::common::RW,
3075 > {
3076 crate::common::RegisterField::<
3077 10,
3078 0x3,
3079 1,
3080 0,
3081 d1fifosel::Mbw,
3082 d1fifosel::Mbw,
3083 D1Fifosel_SPEC,
3084 crate::common::RW,
3085 >::from_register(self, 0)
3086 }
3087
3088 #[doc = "FIFO Port Endian Control"]
3089 #[inline(always)]
3090 pub fn bigend(
3091 self,
3092 ) -> crate::common::RegisterField<
3093 8,
3094 0x1,
3095 1,
3096 0,
3097 d1fifosel::Bigend,
3098 d1fifosel::Bigend,
3099 D1Fifosel_SPEC,
3100 crate::common::RW,
3101 > {
3102 crate::common::RegisterField::<
3103 8,
3104 0x1,
3105 1,
3106 0,
3107 d1fifosel::Bigend,
3108 d1fifosel::Bigend,
3109 D1Fifosel_SPEC,
3110 crate::common::RW,
3111 >::from_register(self, 0)
3112 }
3113
3114 #[doc = "FIFO Port Access Pipe Specification"]
3115 #[inline(always)]
3116 pub fn curpipe(
3117 self,
3118 ) -> crate::common::RegisterField<
3119 0,
3120 0xf,
3121 1,
3122 0,
3123 d1fifosel::Curpipe,
3124 d1fifosel::Curpipe,
3125 D1Fifosel_SPEC,
3126 crate::common::RW,
3127 > {
3128 crate::common::RegisterField::<
3129 0,
3130 0xf,
3131 1,
3132 0,
3133 d1fifosel::Curpipe,
3134 d1fifosel::Curpipe,
3135 D1Fifosel_SPEC,
3136 crate::common::RW,
3137 >::from_register(self, 0)
3138 }
3139}
3140impl ::core::default::Default for D1Fifosel {
3141 #[inline(always)]
3142 fn default() -> D1Fifosel {
3143 <crate::RegValueT<D1Fifosel_SPEC> as RegisterValue<_>>::new(0)
3144 }
3145}
3146pub mod d1fifosel {
3147
3148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3149 pub struct Rcnt_SPEC;
3150 pub type Rcnt = crate::EnumBitfieldStruct<u8, Rcnt_SPEC>;
3151 impl Rcnt {
3152 #[doc = "The DTLN bits are cleared when all of the receive data has been read from the CFIFO"]
3153 pub const _0: Self = Self::new(0);
3154
3155 #[doc = "The DTLN bits are decremented each time the receive data is read from the CFIFO"]
3156 pub const _1: Self = Self::new(1);
3157 }
3158 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3159 pub struct Rew_SPEC;
3160 pub type Rew = crate::EnumBitfieldStruct<u8, Rew_SPEC>;
3161 impl Rew {
3162 #[doc = "The buffer pointer is not rewound"]
3163 pub const _0: Self = Self::new(0);
3164
3165 #[doc = "The buffer pointer is rewound"]
3166 pub const _1: Self = Self::new(1);
3167 }
3168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3169 pub struct Dclrm_SPEC;
3170 pub type Dclrm = crate::EnumBitfieldStruct<u8, Dclrm_SPEC>;
3171 impl Dclrm {
3172 #[doc = "Auto buffer clear mode is disabled"]
3173 pub const _0: Self = Self::new(0);
3174
3175 #[doc = "Auto buffer clear mode is enabled"]
3176 pub const _1: Self = Self::new(1);
3177 }
3178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3179 pub struct Dreqe_SPEC;
3180 pub type Dreqe = crate::EnumBitfieldStruct<u8, Dreqe_SPEC>;
3181 impl Dreqe {
3182 #[doc = "Disables the output"]
3183 pub const _0: Self = Self::new(0);
3184
3185 #[doc = "Enables the output"]
3186 pub const _1: Self = Self::new(1);
3187 }
3188 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3189 pub struct Mbw_SPEC;
3190 pub type Mbw = crate::EnumBitfieldStruct<u8, Mbw_SPEC>;
3191 impl Mbw {
3192 #[doc = "8-bit width"]
3193 pub const _00: Self = Self::new(0);
3194
3195 #[doc = "16-bit width"]
3196 pub const _01: Self = Self::new(1);
3197
3198 #[doc = "32-bit width"]
3199 pub const _10: Self = Self::new(2);
3200
3201 #[doc = "Setting prohibited"]
3202 pub const _11: Self = Self::new(3);
3203 }
3204 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3205 pub struct Bigend_SPEC;
3206 pub type Bigend = crate::EnumBitfieldStruct<u8, Bigend_SPEC>;
3207 impl Bigend {
3208 #[doc = "Little endian"]
3209 pub const _0: Self = Self::new(0);
3210
3211 #[doc = "Big endian"]
3212 pub const _1: Self = Self::new(1);
3213 }
3214 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3215 pub struct Curpipe_SPEC;
3216 pub type Curpipe = crate::EnumBitfieldStruct<u8, Curpipe_SPEC>;
3217 impl Curpipe {
3218 #[doc = "No pipe specified"]
3219 pub const _0000: Self = Self::new(0);
3220
3221 #[doc = "Pipe 1"]
3222 pub const _0001: Self = Self::new(1);
3223
3224 #[doc = "Pipe 2"]
3225 pub const _0010: Self = Self::new(2);
3226
3227 #[doc = "Pipe 3"]
3228 pub const _0011: Self = Self::new(3);
3229
3230 #[doc = "Pipe 4"]
3231 pub const _0100: Self = Self::new(4);
3232
3233 #[doc = "Pipe 5"]
3234 pub const _0101: Self = Self::new(5);
3235
3236 #[doc = "Pipe 6"]
3237 pub const _0110: Self = Self::new(6);
3238
3239 #[doc = "Pipe 7"]
3240 pub const _0111: Self = Self::new(7);
3241
3242 #[doc = "Pipe 8"]
3243 pub const _1000: Self = Self::new(8);
3244
3245 #[doc = "Pipe 9"]
3246 pub const _1001: Self = Self::new(9);
3247 }
3248}
3249#[doc(hidden)]
3250#[derive(Copy, Clone, Eq, PartialEq)]
3251pub struct Cfifoctr_SPEC;
3252impl crate::sealed::RegSpec for Cfifoctr_SPEC {
3253 type DataType = u16;
3254}
3255
3256#[doc = "CFIFO Port Control Register"]
3257pub type Cfifoctr = crate::RegValueT<Cfifoctr_SPEC>;
3258
3259impl Cfifoctr {
3260 #[doc = "Buffer Memory Valid Flag"]
3261 #[inline(always)]
3262 pub fn bval(
3263 self,
3264 ) -> crate::common::RegisterField<
3265 15,
3266 0x1,
3267 1,
3268 0,
3269 cfifoctr::Bval,
3270 cfifoctr::Bval,
3271 Cfifoctr_SPEC,
3272 crate::common::RW,
3273 > {
3274 crate::common::RegisterField::<
3275 15,
3276 0x1,
3277 1,
3278 0,
3279 cfifoctr::Bval,
3280 cfifoctr::Bval,
3281 Cfifoctr_SPEC,
3282 crate::common::RW,
3283 >::from_register(self, 0)
3284 }
3285
3286 #[doc = "CPU Buffer Clear"]
3287 #[inline(always)]
3288 pub fn bclr(
3289 self,
3290 ) -> crate::common::RegisterField<
3291 14,
3292 0x1,
3293 1,
3294 0,
3295 cfifoctr::Bclr,
3296 cfifoctr::Bclr,
3297 Cfifoctr_SPEC,
3298 crate::common::W,
3299 > {
3300 crate::common::RegisterField::<
3301 14,
3302 0x1,
3303 1,
3304 0,
3305 cfifoctr::Bclr,
3306 cfifoctr::Bclr,
3307 Cfifoctr_SPEC,
3308 crate::common::W,
3309 >::from_register(self, 0)
3310 }
3311
3312 #[doc = "FIFO Port ReadyIndicates whether the FIFO port can be accessed."]
3313 #[inline(always)]
3314 pub fn frdy(
3315 self,
3316 ) -> crate::common::RegisterField<
3317 13,
3318 0x1,
3319 1,
3320 0,
3321 cfifoctr::Frdy,
3322 cfifoctr::Frdy,
3323 Cfifoctr_SPEC,
3324 crate::common::R,
3325 > {
3326 crate::common::RegisterField::<
3327 13,
3328 0x1,
3329 1,
3330 0,
3331 cfifoctr::Frdy,
3332 cfifoctr::Frdy,
3333 Cfifoctr_SPEC,
3334 crate::common::R,
3335 >::from_register(self, 0)
3336 }
3337
3338 #[doc = "Receive Data Length.Indicates the length of the receive data."]
3339 #[inline(always)]
3340 pub fn dtln(
3341 self,
3342 ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, Cfifoctr_SPEC, crate::common::R>
3343 {
3344 crate::common::RegisterField::<0,0xfff,1,0,u16,u16,Cfifoctr_SPEC,crate::common::R>::from_register(self,0)
3345 }
3346}
3347impl ::core::default::Default for Cfifoctr {
3348 #[inline(always)]
3349 fn default() -> Cfifoctr {
3350 <crate::RegValueT<Cfifoctr_SPEC> as RegisterValue<_>>::new(0)
3351 }
3352}
3353pub mod cfifoctr {
3354
3355 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3356 pub struct Bval_SPEC;
3357 pub type Bval = crate::EnumBitfieldStruct<u8, Bval_SPEC>;
3358 impl Bval {
3359 #[doc = "Invalid"]
3360 pub const _0: Self = Self::new(0);
3361
3362 #[doc = "Writing ended"]
3363 pub const _1: Self = Self::new(1);
3364 }
3365 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3366 pub struct Bclr_SPEC;
3367 pub type Bclr = crate::EnumBitfieldStruct<u8, Bclr_SPEC>;
3368 impl Bclr {
3369 #[doc = "No operation"]
3370 pub const _0: Self = Self::new(0);
3371
3372 #[doc = "Clear FIFO buffer on the CPU side."]
3373 pub const _1: Self = Self::new(1);
3374 }
3375 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3376 pub struct Frdy_SPEC;
3377 pub type Frdy = crate::EnumBitfieldStruct<u8, Frdy_SPEC>;
3378 impl Frdy {
3379 #[doc = "FIFO port access is disabled"]
3380 pub const _0: Self = Self::new(0);
3381
3382 #[doc = "FIFO port access is enabled"]
3383 pub const _1: Self = Self::new(1);
3384 }
3385}
3386#[doc(hidden)]
3387#[derive(Copy, Clone, Eq, PartialEq)]
3388pub struct D0Fifoctr_SPEC;
3389impl crate::sealed::RegSpec for D0Fifoctr_SPEC {
3390 type DataType = u16;
3391}
3392
3393#[doc = "D0FIFO Port Control Register"]
3394pub type D0Fifoctr = crate::RegValueT<D0Fifoctr_SPEC>;
3395
3396impl D0Fifoctr {
3397 #[doc = "Buffer Memory Valid Flag"]
3398 #[inline(always)]
3399 pub fn bval(
3400 self,
3401 ) -> crate::common::RegisterField<
3402 15,
3403 0x1,
3404 1,
3405 0,
3406 d0fifoctr::Bval,
3407 d0fifoctr::Bval,
3408 D0Fifoctr_SPEC,
3409 crate::common::RW,
3410 > {
3411 crate::common::RegisterField::<
3412 15,
3413 0x1,
3414 1,
3415 0,
3416 d0fifoctr::Bval,
3417 d0fifoctr::Bval,
3418 D0Fifoctr_SPEC,
3419 crate::common::RW,
3420 >::from_register(self, 0)
3421 }
3422
3423 #[doc = "CPU Buffer Clear"]
3424 #[inline(always)]
3425 pub fn bclr(
3426 self,
3427 ) -> crate::common::RegisterField<
3428 14,
3429 0x1,
3430 1,
3431 0,
3432 d0fifoctr::Bclr,
3433 d0fifoctr::Bclr,
3434 D0Fifoctr_SPEC,
3435 crate::common::W,
3436 > {
3437 crate::common::RegisterField::<
3438 14,
3439 0x1,
3440 1,
3441 0,
3442 d0fifoctr::Bclr,
3443 d0fifoctr::Bclr,
3444 D0Fifoctr_SPEC,
3445 crate::common::W,
3446 >::from_register(self, 0)
3447 }
3448
3449 #[doc = "FIFO Port ReadyIndicates whether the FIFO port can be accessed."]
3450 #[inline(always)]
3451 pub fn frdy(
3452 self,
3453 ) -> crate::common::RegisterField<
3454 13,
3455 0x1,
3456 1,
3457 0,
3458 d0fifoctr::Frdy,
3459 d0fifoctr::Frdy,
3460 D0Fifoctr_SPEC,
3461 crate::common::R,
3462 > {
3463 crate::common::RegisterField::<
3464 13,
3465 0x1,
3466 1,
3467 0,
3468 d0fifoctr::Frdy,
3469 d0fifoctr::Frdy,
3470 D0Fifoctr_SPEC,
3471 crate::common::R,
3472 >::from_register(self, 0)
3473 }
3474
3475 #[doc = "Receive Data Length.Indicates the length of the receive data."]
3476 #[inline(always)]
3477 pub fn dtln(
3478 self,
3479 ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, D0Fifoctr_SPEC, crate::common::R>
3480 {
3481 crate::common::RegisterField::<0,0xfff,1,0,u16,u16,D0Fifoctr_SPEC,crate::common::R>::from_register(self,0)
3482 }
3483}
3484impl ::core::default::Default for D0Fifoctr {
3485 #[inline(always)]
3486 fn default() -> D0Fifoctr {
3487 <crate::RegValueT<D0Fifoctr_SPEC> as RegisterValue<_>>::new(0)
3488 }
3489}
3490pub mod d0fifoctr {
3491
3492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3493 pub struct Bval_SPEC;
3494 pub type Bval = crate::EnumBitfieldStruct<u8, Bval_SPEC>;
3495 impl Bval {
3496 #[doc = "Invalid"]
3497 pub const _0: Self = Self::new(0);
3498
3499 #[doc = "Writing ended"]
3500 pub const _1: Self = Self::new(1);
3501 }
3502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3503 pub struct Bclr_SPEC;
3504 pub type Bclr = crate::EnumBitfieldStruct<u8, Bclr_SPEC>;
3505 impl Bclr {
3506 #[doc = "No operation"]
3507 pub const _0: Self = Self::new(0);
3508
3509 #[doc = "Clear FIFO buffer on the CPU side."]
3510 pub const _1: Self = Self::new(1);
3511 }
3512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3513 pub struct Frdy_SPEC;
3514 pub type Frdy = crate::EnumBitfieldStruct<u8, Frdy_SPEC>;
3515 impl Frdy {
3516 #[doc = "FIFO port access is disabled"]
3517 pub const _0: Self = Self::new(0);
3518
3519 #[doc = "FIFO port access is enabled"]
3520 pub const _1: Self = Self::new(1);
3521 }
3522}
3523#[doc(hidden)]
3524#[derive(Copy, Clone, Eq, PartialEq)]
3525pub struct D1Fifoctr_SPEC;
3526impl crate::sealed::RegSpec for D1Fifoctr_SPEC {
3527 type DataType = u16;
3528}
3529
3530#[doc = "D1FIFO Port Control Register"]
3531pub type D1Fifoctr = crate::RegValueT<D1Fifoctr_SPEC>;
3532
3533impl D1Fifoctr {
3534 #[doc = "Buffer Memory Valid Flag"]
3535 #[inline(always)]
3536 pub fn bval(
3537 self,
3538 ) -> crate::common::RegisterField<
3539 15,
3540 0x1,
3541 1,
3542 0,
3543 d1fifoctr::Bval,
3544 d1fifoctr::Bval,
3545 D1Fifoctr_SPEC,
3546 crate::common::RW,
3547 > {
3548 crate::common::RegisterField::<
3549 15,
3550 0x1,
3551 1,
3552 0,
3553 d1fifoctr::Bval,
3554 d1fifoctr::Bval,
3555 D1Fifoctr_SPEC,
3556 crate::common::RW,
3557 >::from_register(self, 0)
3558 }
3559
3560 #[doc = "CPU Buffer Clear"]
3561 #[inline(always)]
3562 pub fn bclr(
3563 self,
3564 ) -> crate::common::RegisterField<
3565 14,
3566 0x1,
3567 1,
3568 0,
3569 d1fifoctr::Bclr,
3570 d1fifoctr::Bclr,
3571 D1Fifoctr_SPEC,
3572 crate::common::W,
3573 > {
3574 crate::common::RegisterField::<
3575 14,
3576 0x1,
3577 1,
3578 0,
3579 d1fifoctr::Bclr,
3580 d1fifoctr::Bclr,
3581 D1Fifoctr_SPEC,
3582 crate::common::W,
3583 >::from_register(self, 0)
3584 }
3585
3586 #[doc = "FIFO Port ReadyIndicates whether the FIFO port can be accessed."]
3587 #[inline(always)]
3588 pub fn frdy(
3589 self,
3590 ) -> crate::common::RegisterField<
3591 13,
3592 0x1,
3593 1,
3594 0,
3595 d1fifoctr::Frdy,
3596 d1fifoctr::Frdy,
3597 D1Fifoctr_SPEC,
3598 crate::common::R,
3599 > {
3600 crate::common::RegisterField::<
3601 13,
3602 0x1,
3603 1,
3604 0,
3605 d1fifoctr::Frdy,
3606 d1fifoctr::Frdy,
3607 D1Fifoctr_SPEC,
3608 crate::common::R,
3609 >::from_register(self, 0)
3610 }
3611
3612 #[doc = "Receive Data Length.Indicates the length of the receive data."]
3613 #[inline(always)]
3614 pub fn dtln(
3615 self,
3616 ) -> crate::common::RegisterField<0, 0xfff, 1, 0, u16, u16, D1Fifoctr_SPEC, crate::common::R>
3617 {
3618 crate::common::RegisterField::<0,0xfff,1,0,u16,u16,D1Fifoctr_SPEC,crate::common::R>::from_register(self,0)
3619 }
3620}
3621impl ::core::default::Default for D1Fifoctr {
3622 #[inline(always)]
3623 fn default() -> D1Fifoctr {
3624 <crate::RegValueT<D1Fifoctr_SPEC> as RegisterValue<_>>::new(0)
3625 }
3626}
3627pub mod d1fifoctr {
3628
3629 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3630 pub struct Bval_SPEC;
3631 pub type Bval = crate::EnumBitfieldStruct<u8, Bval_SPEC>;
3632 impl Bval {
3633 #[doc = "Invalid"]
3634 pub const _0: Self = Self::new(0);
3635
3636 #[doc = "Writing ended"]
3637 pub const _1: Self = Self::new(1);
3638 }
3639 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3640 pub struct Bclr_SPEC;
3641 pub type Bclr = crate::EnumBitfieldStruct<u8, Bclr_SPEC>;
3642 impl Bclr {
3643 #[doc = "No operation"]
3644 pub const _0: Self = Self::new(0);
3645
3646 #[doc = "Clear FIFO buffer on the CPU side."]
3647 pub const _1: Self = Self::new(1);
3648 }
3649 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3650 pub struct Frdy_SPEC;
3651 pub type Frdy = crate::EnumBitfieldStruct<u8, Frdy_SPEC>;
3652 impl Frdy {
3653 #[doc = "FIFO port access is disabled"]
3654 pub const _0: Self = Self::new(0);
3655
3656 #[doc = "FIFO port access is enabled"]
3657 pub const _1: Self = Self::new(1);
3658 }
3659}
3660#[doc(hidden)]
3661#[derive(Copy, Clone, Eq, PartialEq)]
3662pub struct Intenb0_SPEC;
3663impl crate::sealed::RegSpec for Intenb0_SPEC {
3664 type DataType = u16;
3665}
3666
3667#[doc = "Interrupt Enable Register 0"]
3668pub type Intenb0 = crate::RegValueT<Intenb0_SPEC>;
3669
3670impl Intenb0 {
3671 #[doc = "VBUS Interrupt Enable"]
3672 #[inline(always)]
3673 pub fn vbse(
3674 self,
3675 ) -> crate::common::RegisterField<
3676 15,
3677 0x1,
3678 1,
3679 0,
3680 intenb0::Vbse,
3681 intenb0::Vbse,
3682 Intenb0_SPEC,
3683 crate::common::RW,
3684 > {
3685 crate::common::RegisterField::<
3686 15,
3687 0x1,
3688 1,
3689 0,
3690 intenb0::Vbse,
3691 intenb0::Vbse,
3692 Intenb0_SPEC,
3693 crate::common::RW,
3694 >::from_register(self, 0)
3695 }
3696
3697 #[doc = "Resume Interrupt Enable"]
3698 #[inline(always)]
3699 pub fn rsme(
3700 self,
3701 ) -> crate::common::RegisterField<
3702 14,
3703 0x1,
3704 1,
3705 0,
3706 intenb0::Rsme,
3707 intenb0::Rsme,
3708 Intenb0_SPEC,
3709 crate::common::RW,
3710 > {
3711 crate::common::RegisterField::<
3712 14,
3713 0x1,
3714 1,
3715 0,
3716 intenb0::Rsme,
3717 intenb0::Rsme,
3718 Intenb0_SPEC,
3719 crate::common::RW,
3720 >::from_register(self, 0)
3721 }
3722
3723 #[doc = "Frame Number Update Interrupt Enable"]
3724 #[inline(always)]
3725 pub fn sofe(
3726 self,
3727 ) -> crate::common::RegisterField<
3728 13,
3729 0x1,
3730 1,
3731 0,
3732 intenb0::Sofe,
3733 intenb0::Sofe,
3734 Intenb0_SPEC,
3735 crate::common::RW,
3736 > {
3737 crate::common::RegisterField::<
3738 13,
3739 0x1,
3740 1,
3741 0,
3742 intenb0::Sofe,
3743 intenb0::Sofe,
3744 Intenb0_SPEC,
3745 crate::common::RW,
3746 >::from_register(self, 0)
3747 }
3748
3749 #[doc = "Device State Transition Interrupt Enable"]
3750 #[inline(always)]
3751 pub fn dvse(
3752 self,
3753 ) -> crate::common::RegisterField<
3754 12,
3755 0x1,
3756 1,
3757 0,
3758 intenb0::Dvse,
3759 intenb0::Dvse,
3760 Intenb0_SPEC,
3761 crate::common::RW,
3762 > {
3763 crate::common::RegisterField::<
3764 12,
3765 0x1,
3766 1,
3767 0,
3768 intenb0::Dvse,
3769 intenb0::Dvse,
3770 Intenb0_SPEC,
3771 crate::common::RW,
3772 >::from_register(self, 0)
3773 }
3774
3775 #[doc = "Control Transfer Stage Transition Interrupt Enable"]
3776 #[inline(always)]
3777 pub fn ctre(
3778 self,
3779 ) -> crate::common::RegisterField<
3780 11,
3781 0x1,
3782 1,
3783 0,
3784 intenb0::Ctre,
3785 intenb0::Ctre,
3786 Intenb0_SPEC,
3787 crate::common::RW,
3788 > {
3789 crate::common::RegisterField::<
3790 11,
3791 0x1,
3792 1,
3793 0,
3794 intenb0::Ctre,
3795 intenb0::Ctre,
3796 Intenb0_SPEC,
3797 crate::common::RW,
3798 >::from_register(self, 0)
3799 }
3800
3801 #[doc = "Buffer Empty Interrupt Enable"]
3802 #[inline(always)]
3803 pub fn bempe(
3804 self,
3805 ) -> crate::common::RegisterField<
3806 10,
3807 0x1,
3808 1,
3809 0,
3810 intenb0::Bempe,
3811 intenb0::Bempe,
3812 Intenb0_SPEC,
3813 crate::common::RW,
3814 > {
3815 crate::common::RegisterField::<
3816 10,
3817 0x1,
3818 1,
3819 0,
3820 intenb0::Bempe,
3821 intenb0::Bempe,
3822 Intenb0_SPEC,
3823 crate::common::RW,
3824 >::from_register(self, 0)
3825 }
3826
3827 #[doc = "Buffer Not Ready Response Interrupt Enable"]
3828 #[inline(always)]
3829 pub fn nrdye(
3830 self,
3831 ) -> crate::common::RegisterField<
3832 9,
3833 0x1,
3834 1,
3835 0,
3836 intenb0::Nrdye,
3837 intenb0::Nrdye,
3838 Intenb0_SPEC,
3839 crate::common::RW,
3840 > {
3841 crate::common::RegisterField::<
3842 9,
3843 0x1,
3844 1,
3845 0,
3846 intenb0::Nrdye,
3847 intenb0::Nrdye,
3848 Intenb0_SPEC,
3849 crate::common::RW,
3850 >::from_register(self, 0)
3851 }
3852
3853 #[doc = "Buffer Ready Interrupt Enable"]
3854 #[inline(always)]
3855 pub fn brdye(
3856 self,
3857 ) -> crate::common::RegisterField<
3858 8,
3859 0x1,
3860 1,
3861 0,
3862 intenb0::Brdye,
3863 intenb0::Brdye,
3864 Intenb0_SPEC,
3865 crate::common::RW,
3866 > {
3867 crate::common::RegisterField::<
3868 8,
3869 0x1,
3870 1,
3871 0,
3872 intenb0::Brdye,
3873 intenb0::Brdye,
3874 Intenb0_SPEC,
3875 crate::common::RW,
3876 >::from_register(self, 0)
3877 }
3878}
3879impl ::core::default::Default for Intenb0 {
3880 #[inline(always)]
3881 fn default() -> Intenb0 {
3882 <crate::RegValueT<Intenb0_SPEC> as RegisterValue<_>>::new(0)
3883 }
3884}
3885pub mod intenb0 {
3886
3887 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3888 pub struct Vbse_SPEC;
3889 pub type Vbse = crate::EnumBitfieldStruct<u8, Vbse_SPEC>;
3890 impl Vbse {
3891 #[doc = "Interrupt output disabled"]
3892 pub const _0: Self = Self::new(0);
3893
3894 #[doc = "Interrupt output enabled"]
3895 pub const _1: Self = Self::new(1);
3896 }
3897 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3898 pub struct Rsme_SPEC;
3899 pub type Rsme = crate::EnumBitfieldStruct<u8, Rsme_SPEC>;
3900 impl Rsme {
3901 #[doc = "Interrupt output disabled"]
3902 pub const _0: Self = Self::new(0);
3903
3904 #[doc = "Interrupt output enabled"]
3905 pub const _1: Self = Self::new(1);
3906 }
3907 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3908 pub struct Sofe_SPEC;
3909 pub type Sofe = crate::EnumBitfieldStruct<u8, Sofe_SPEC>;
3910 impl Sofe {
3911 #[doc = "Interrupt output disabled"]
3912 pub const _0: Self = Self::new(0);
3913
3914 #[doc = "Interrupt output enabled"]
3915 pub const _1: Self = Self::new(1);
3916 }
3917 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3918 pub struct Dvse_SPEC;
3919 pub type Dvse = crate::EnumBitfieldStruct<u8, Dvse_SPEC>;
3920 impl Dvse {
3921 #[doc = "Interrupt output disabled"]
3922 pub const _0: Self = Self::new(0);
3923
3924 #[doc = "Interrupt output enabled"]
3925 pub const _1: Self = Self::new(1);
3926 }
3927 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3928 pub struct Ctre_SPEC;
3929 pub type Ctre = crate::EnumBitfieldStruct<u8, Ctre_SPEC>;
3930 impl Ctre {
3931 #[doc = "Interrupt output disabled"]
3932 pub const _0: Self = Self::new(0);
3933
3934 #[doc = "Interrupt output enabled"]
3935 pub const _1: Self = Self::new(1);
3936 }
3937 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3938 pub struct Bempe_SPEC;
3939 pub type Bempe = crate::EnumBitfieldStruct<u8, Bempe_SPEC>;
3940 impl Bempe {
3941 #[doc = "Interrupt output disabled"]
3942 pub const _0: Self = Self::new(0);
3943
3944 #[doc = "Interrupt output enabled"]
3945 pub const _1: Self = Self::new(1);
3946 }
3947 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3948 pub struct Nrdye_SPEC;
3949 pub type Nrdye = crate::EnumBitfieldStruct<u8, Nrdye_SPEC>;
3950 impl Nrdye {
3951 #[doc = "Interrupt output disabled"]
3952 pub const _0: Self = Self::new(0);
3953
3954 #[doc = "Interrupt output enabled"]
3955 pub const _1: Self = Self::new(1);
3956 }
3957 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3958 pub struct Brdye_SPEC;
3959 pub type Brdye = crate::EnumBitfieldStruct<u8, Brdye_SPEC>;
3960 impl Brdye {
3961 #[doc = "Interrupt output disabled"]
3962 pub const _0: Self = Self::new(0);
3963
3964 #[doc = "Interrupt output enabled"]
3965 pub const _1: Self = Self::new(1);
3966 }
3967}
3968#[doc(hidden)]
3969#[derive(Copy, Clone, Eq, PartialEq)]
3970pub struct Intenb1_SPEC;
3971impl crate::sealed::RegSpec for Intenb1_SPEC {
3972 type DataType = u16;
3973}
3974
3975#[doc = "Interrupt Enable Register 1"]
3976pub type Intenb1 = crate::RegValueT<Intenb1_SPEC>;
3977
3978impl Intenb1 {
3979 #[doc = "OVRCRE Interrupt Enable"]
3980 #[inline(always)]
3981 pub fn ovrcre(
3982 self,
3983 ) -> crate::common::RegisterField<
3984 15,
3985 0x1,
3986 1,
3987 0,
3988 intenb1::Ovrcre,
3989 intenb1::Ovrcre,
3990 Intenb1_SPEC,
3991 crate::common::RW,
3992 > {
3993 crate::common::RegisterField::<
3994 15,
3995 0x1,
3996 1,
3997 0,
3998 intenb1::Ovrcre,
3999 intenb1::Ovrcre,
4000 Intenb1_SPEC,
4001 crate::common::RW,
4002 >::from_register(self, 0)
4003 }
4004
4005 #[doc = "USB Bus Change Interrupt Enable"]
4006 #[inline(always)]
4007 pub fn bchge(
4008 self,
4009 ) -> crate::common::RegisterField<
4010 14,
4011 0x1,
4012 1,
4013 0,
4014 intenb1::Bchge,
4015 intenb1::Bchge,
4016 Intenb1_SPEC,
4017 crate::common::RW,
4018 > {
4019 crate::common::RegisterField::<
4020 14,
4021 0x1,
4022 1,
4023 0,
4024 intenb1::Bchge,
4025 intenb1::Bchge,
4026 Intenb1_SPEC,
4027 crate::common::RW,
4028 >::from_register(self, 0)
4029 }
4030
4031 #[doc = "Disconnection Detection Interrupt Enable"]
4032 #[inline(always)]
4033 pub fn dtche(
4034 self,
4035 ) -> crate::common::RegisterField<
4036 12,
4037 0x1,
4038 1,
4039 0,
4040 intenb1::Dtche,
4041 intenb1::Dtche,
4042 Intenb1_SPEC,
4043 crate::common::RW,
4044 > {
4045 crate::common::RegisterField::<
4046 12,
4047 0x1,
4048 1,
4049 0,
4050 intenb1::Dtche,
4051 intenb1::Dtche,
4052 Intenb1_SPEC,
4053 crate::common::RW,
4054 >::from_register(self, 0)
4055 }
4056
4057 #[doc = "Connection Detection Interrupt Enable"]
4058 #[inline(always)]
4059 pub fn attche(
4060 self,
4061 ) -> crate::common::RegisterField<
4062 11,
4063 0x1,
4064 1,
4065 0,
4066 intenb1::Attche,
4067 intenb1::Attche,
4068 Intenb1_SPEC,
4069 crate::common::RW,
4070 > {
4071 crate::common::RegisterField::<
4072 11,
4073 0x1,
4074 1,
4075 0,
4076 intenb1::Attche,
4077 intenb1::Attche,
4078 Intenb1_SPEC,
4079 crate::common::RW,
4080 >::from_register(self, 0)
4081 }
4082
4083 #[doc = "L1 Resume End Interrupt Enable"]
4084 #[inline(always)]
4085 pub fn l1rsmende(
4086 self,
4087 ) -> crate::common::RegisterField<
4088 9,
4089 0x1,
4090 1,
4091 0,
4092 intenb1::L1Rsmende,
4093 intenb1::L1Rsmende,
4094 Intenb1_SPEC,
4095 crate::common::RW,
4096 > {
4097 crate::common::RegisterField::<
4098 9,
4099 0x1,
4100 1,
4101 0,
4102 intenb1::L1Rsmende,
4103 intenb1::L1Rsmende,
4104 Intenb1_SPEC,
4105 crate::common::RW,
4106 >::from_register(self, 0)
4107 }
4108
4109 #[doc = "LPM Transaction End Interrupt Enable"]
4110 #[inline(always)]
4111 pub fn lpmende(
4112 self,
4113 ) -> crate::common::RegisterField<
4114 8,
4115 0x1,
4116 1,
4117 0,
4118 intenb1::Lpmende,
4119 intenb1::Lpmende,
4120 Intenb1_SPEC,
4121 crate::common::RW,
4122 > {
4123 crate::common::RegisterField::<
4124 8,
4125 0x1,
4126 1,
4127 0,
4128 intenb1::Lpmende,
4129 intenb1::Lpmende,
4130 Intenb1_SPEC,
4131 crate::common::RW,
4132 >::from_register(self, 0)
4133 }
4134
4135 #[doc = "EOF Error Detection Interrupt Enable"]
4136 #[inline(always)]
4137 pub fn eoferre(
4138 self,
4139 ) -> crate::common::RegisterField<
4140 6,
4141 0x1,
4142 1,
4143 0,
4144 intenb1::Eoferre,
4145 intenb1::Eoferre,
4146 Intenb1_SPEC,
4147 crate::common::RW,
4148 > {
4149 crate::common::RegisterField::<
4150 6,
4151 0x1,
4152 1,
4153 0,
4154 intenb1::Eoferre,
4155 intenb1::Eoferre,
4156 Intenb1_SPEC,
4157 crate::common::RW,
4158 >::from_register(self, 0)
4159 }
4160
4161 #[doc = "Setup Transaction Error Interrupt Enable"]
4162 #[inline(always)]
4163 pub fn signe(
4164 self,
4165 ) -> crate::common::RegisterField<
4166 5,
4167 0x1,
4168 1,
4169 0,
4170 intenb1::Signe,
4171 intenb1::Signe,
4172 Intenb1_SPEC,
4173 crate::common::RW,
4174 > {
4175 crate::common::RegisterField::<
4176 5,
4177 0x1,
4178 1,
4179 0,
4180 intenb1::Signe,
4181 intenb1::Signe,
4182 Intenb1_SPEC,
4183 crate::common::RW,
4184 >::from_register(self, 0)
4185 }
4186
4187 #[doc = "Setup Transaction Normal Response Interrupt Enable"]
4188 #[inline(always)]
4189 pub fn sacke(
4190 self,
4191 ) -> crate::common::RegisterField<
4192 4,
4193 0x1,
4194 1,
4195 0,
4196 intenb1::Sacke,
4197 intenb1::Sacke,
4198 Intenb1_SPEC,
4199 crate::common::RW,
4200 > {
4201 crate::common::RegisterField::<
4202 4,
4203 0x1,
4204 1,
4205 0,
4206 intenb1::Sacke,
4207 intenb1::Sacke,
4208 Intenb1_SPEC,
4209 crate::common::RW,
4210 >::from_register(self, 0)
4211 }
4212
4213 #[doc = "PDDETINT Detection Interrupt Enable"]
4214 #[inline(always)]
4215 pub fn pddetinte(
4216 self,
4217 ) -> crate::common::RegisterField<
4218 0,
4219 0x1,
4220 1,
4221 0,
4222 intenb1::Pddetinte,
4223 intenb1::Pddetinte,
4224 Intenb1_SPEC,
4225 crate::common::RW,
4226 > {
4227 crate::common::RegisterField::<
4228 0,
4229 0x1,
4230 1,
4231 0,
4232 intenb1::Pddetinte,
4233 intenb1::Pddetinte,
4234 Intenb1_SPEC,
4235 crate::common::RW,
4236 >::from_register(self, 0)
4237 }
4238}
4239impl ::core::default::Default for Intenb1 {
4240 #[inline(always)]
4241 fn default() -> Intenb1 {
4242 <crate::RegValueT<Intenb1_SPEC> as RegisterValue<_>>::new(0)
4243 }
4244}
4245pub mod intenb1 {
4246
4247 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4248 pub struct Ovrcre_SPEC;
4249 pub type Ovrcre = crate::EnumBitfieldStruct<u8, Ovrcre_SPEC>;
4250 impl Ovrcre {
4251 #[doc = "Interrupt output disabled"]
4252 pub const _0: Self = Self::new(0);
4253
4254 #[doc = "Interrupt output enabled"]
4255 pub const _1: Self = Self::new(1);
4256 }
4257 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4258 pub struct Bchge_SPEC;
4259 pub type Bchge = crate::EnumBitfieldStruct<u8, Bchge_SPEC>;
4260 impl Bchge {
4261 #[doc = "Interrupt output disabled"]
4262 pub const _0: Self = Self::new(0);
4263
4264 #[doc = "Interrupt output enabled"]
4265 pub const _1: Self = Self::new(1);
4266 }
4267 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4268 pub struct Dtche_SPEC;
4269 pub type Dtche = crate::EnumBitfieldStruct<u8, Dtche_SPEC>;
4270 impl Dtche {
4271 #[doc = "Interrupt output disabled"]
4272 pub const _0: Self = Self::new(0);
4273
4274 #[doc = "Interrupt output enabled"]
4275 pub const _1: Self = Self::new(1);
4276 }
4277 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4278 pub struct Attche_SPEC;
4279 pub type Attche = crate::EnumBitfieldStruct<u8, Attche_SPEC>;
4280 impl Attche {
4281 #[doc = "Interrupt output disabled"]
4282 pub const _0: Self = Self::new(0);
4283
4284 #[doc = "Interrupt output enabled"]
4285 pub const _1: Self = Self::new(1);
4286 }
4287 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4288 pub struct L1Rsmende_SPEC;
4289 pub type L1Rsmende = crate::EnumBitfieldStruct<u8, L1Rsmende_SPEC>;
4290 impl L1Rsmende {
4291 #[doc = "Interrupt output disabled"]
4292 pub const _0: Self = Self::new(0);
4293
4294 #[doc = "Interrupt output enabled"]
4295 pub const _1: Self = Self::new(1);
4296 }
4297 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4298 pub struct Lpmende_SPEC;
4299 pub type Lpmende = crate::EnumBitfieldStruct<u8, Lpmende_SPEC>;
4300 impl Lpmende {
4301 #[doc = "Interrupt output disabled"]
4302 pub const _0: Self = Self::new(0);
4303
4304 #[doc = "Interrupt output enabled"]
4305 pub const _1: Self = Self::new(1);
4306 }
4307 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4308 pub struct Eoferre_SPEC;
4309 pub type Eoferre = crate::EnumBitfieldStruct<u8, Eoferre_SPEC>;
4310 impl Eoferre {
4311 #[doc = "Interrupt output disabled"]
4312 pub const _0: Self = Self::new(0);
4313
4314 #[doc = "Interrupt output enabled"]
4315 pub const _1: Self = Self::new(1);
4316 }
4317 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4318 pub struct Signe_SPEC;
4319 pub type Signe = crate::EnumBitfieldStruct<u8, Signe_SPEC>;
4320 impl Signe {
4321 #[doc = "Interrupt output disabled"]
4322 pub const _0: Self = Self::new(0);
4323
4324 #[doc = "Interrupt output enabled"]
4325 pub const _1: Self = Self::new(1);
4326 }
4327 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4328 pub struct Sacke_SPEC;
4329 pub type Sacke = crate::EnumBitfieldStruct<u8, Sacke_SPEC>;
4330 impl Sacke {
4331 #[doc = "Interrupt output disabled"]
4332 pub const _0: Self = Self::new(0);
4333
4334 #[doc = "Interrupt output enabled"]
4335 pub const _1: Self = Self::new(1);
4336 }
4337 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4338 pub struct Pddetinte_SPEC;
4339 pub type Pddetinte = crate::EnumBitfieldStruct<u8, Pddetinte_SPEC>;
4340 impl Pddetinte {
4341 #[doc = "Interrupt output disabled"]
4342 pub const _0: Self = Self::new(0);
4343
4344 #[doc = "Interrupt output enabled"]
4345 pub const _1: Self = Self::new(1);
4346 }
4347}
4348#[doc(hidden)]
4349#[derive(Copy, Clone, Eq, PartialEq)]
4350pub struct Brdyenb_SPEC;
4351impl crate::sealed::RegSpec for Brdyenb_SPEC {
4352 type DataType = u16;
4353}
4354
4355#[doc = "BRDY Interrupt Enable Register"]
4356pub type Brdyenb = crate::RegValueT<Brdyenb_SPEC>;
4357
4358impl Brdyenb {
4359 #[doc = "BRDY Interrupt Enable for Each Pipe"]
4360 #[inline(always)]
4361 pub fn pipebrdye(
4362 self,
4363 ) -> crate::common::RegisterField<
4364 0,
4365 0x3ff,
4366 1,
4367 0,
4368 brdyenb::Pipebrdye,
4369 brdyenb::Pipebrdye,
4370 Brdyenb_SPEC,
4371 crate::common::RW,
4372 > {
4373 crate::common::RegisterField::<
4374 0,
4375 0x3ff,
4376 1,
4377 0,
4378 brdyenb::Pipebrdye,
4379 brdyenb::Pipebrdye,
4380 Brdyenb_SPEC,
4381 crate::common::RW,
4382 >::from_register(self, 0)
4383 }
4384}
4385impl ::core::default::Default for Brdyenb {
4386 #[inline(always)]
4387 fn default() -> Brdyenb {
4388 <crate::RegValueT<Brdyenb_SPEC> as RegisterValue<_>>::new(0)
4389 }
4390}
4391pub mod brdyenb {
4392
4393 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4394 pub struct Pipebrdye_SPEC;
4395 pub type Pipebrdye = crate::EnumBitfieldStruct<u8, Pipebrdye_SPEC>;
4396 impl Pipebrdye {
4397 #[doc = "Interrupt output disabled"]
4398 pub const _0: Self = Self::new(0);
4399
4400 #[doc = "Interrupt output enabled"]
4401 pub const _1: Self = Self::new(1);
4402 }
4403}
4404#[doc(hidden)]
4405#[derive(Copy, Clone, Eq, PartialEq)]
4406pub struct Nrdyenb_SPEC;
4407impl crate::sealed::RegSpec for Nrdyenb_SPEC {
4408 type DataType = u16;
4409}
4410
4411#[doc = "NRDY Interrupt Enable Register"]
4412pub type Nrdyenb = crate::RegValueT<Nrdyenb_SPEC>;
4413
4414impl Nrdyenb {
4415 #[doc = "NRDY Interrupt Enable for Each Pipe"]
4416 #[inline(always)]
4417 pub fn pipenrdye(
4418 self,
4419 ) -> crate::common::RegisterField<
4420 0,
4421 0x3ff,
4422 1,
4423 0,
4424 nrdyenb::Pipenrdye,
4425 nrdyenb::Pipenrdye,
4426 Nrdyenb_SPEC,
4427 crate::common::RW,
4428 > {
4429 crate::common::RegisterField::<
4430 0,
4431 0x3ff,
4432 1,
4433 0,
4434 nrdyenb::Pipenrdye,
4435 nrdyenb::Pipenrdye,
4436 Nrdyenb_SPEC,
4437 crate::common::RW,
4438 >::from_register(self, 0)
4439 }
4440}
4441impl ::core::default::Default for Nrdyenb {
4442 #[inline(always)]
4443 fn default() -> Nrdyenb {
4444 <crate::RegValueT<Nrdyenb_SPEC> as RegisterValue<_>>::new(0)
4445 }
4446}
4447pub mod nrdyenb {
4448
4449 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4450 pub struct Pipenrdye_SPEC;
4451 pub type Pipenrdye = crate::EnumBitfieldStruct<u8, Pipenrdye_SPEC>;
4452 impl Pipenrdye {
4453 #[doc = "Interrupt output disabled"]
4454 pub const _0: Self = Self::new(0);
4455
4456 #[doc = "Interrupt output enabled"]
4457 pub const _1: Self = Self::new(1);
4458 }
4459}
4460#[doc(hidden)]
4461#[derive(Copy, Clone, Eq, PartialEq)]
4462pub struct Bempenb_SPEC;
4463impl crate::sealed::RegSpec for Bempenb_SPEC {
4464 type DataType = u16;
4465}
4466
4467#[doc = "BEMP Interrupt Enable Register"]
4468pub type Bempenb = crate::RegValueT<Bempenb_SPEC>;
4469
4470impl Bempenb {
4471 #[doc = "BEMP Interrupt Enable for Each Pipe"]
4472 #[inline(always)]
4473 pub fn pipebempe(
4474 self,
4475 ) -> crate::common::RegisterField<
4476 0,
4477 0x3ff,
4478 1,
4479 0,
4480 bempenb::Pipebempe,
4481 bempenb::Pipebempe,
4482 Bempenb_SPEC,
4483 crate::common::RW,
4484 > {
4485 crate::common::RegisterField::<
4486 0,
4487 0x3ff,
4488 1,
4489 0,
4490 bempenb::Pipebempe,
4491 bempenb::Pipebempe,
4492 Bempenb_SPEC,
4493 crate::common::RW,
4494 >::from_register(self, 0)
4495 }
4496}
4497impl ::core::default::Default for Bempenb {
4498 #[inline(always)]
4499 fn default() -> Bempenb {
4500 <crate::RegValueT<Bempenb_SPEC> as RegisterValue<_>>::new(0)
4501 }
4502}
4503pub mod bempenb {
4504
4505 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4506 pub struct Pipebempe_SPEC;
4507 pub type Pipebempe = crate::EnumBitfieldStruct<u8, Pipebempe_SPEC>;
4508 impl Pipebempe {
4509 #[doc = "Interrupt output disabled"]
4510 pub const _0: Self = Self::new(0);
4511
4512 #[doc = "Interrupt output enabled"]
4513 pub const _1: Self = Self::new(1);
4514 }
4515}
4516#[doc(hidden)]
4517#[derive(Copy, Clone, Eq, PartialEq)]
4518pub struct Sofcfg_SPEC;
4519impl crate::sealed::RegSpec for Sofcfg_SPEC {
4520 type DataType = u16;
4521}
4522
4523#[doc = "SOF Pin Configuration Register"]
4524pub type Sofcfg = crate::RegValueT<Sofcfg_SPEC>;
4525
4526impl Sofcfg {
4527 #[doc = "Transaction-Enabled Time Select.The transfer efficiency can be improved by setting this bit to 1 if no low-speed device is connected directly or via FS-HUB to the USB port."]
4528 #[inline(always)]
4529 pub fn trnensel(
4530 self,
4531 ) -> crate::common::RegisterField<
4532 8,
4533 0x1,
4534 1,
4535 0,
4536 sofcfg::Trnensel,
4537 sofcfg::Trnensel,
4538 Sofcfg_SPEC,
4539 crate::common::RW,
4540 > {
4541 crate::common::RegisterField::<
4542 8,
4543 0x1,
4544 1,
4545 0,
4546 sofcfg::Trnensel,
4547 sofcfg::Trnensel,
4548 Sofcfg_SPEC,
4549 crate::common::RW,
4550 >::from_register(self, 0)
4551 }
4552
4553 #[doc = "PIPEBRDY Interrupt Status Clear Timing.This bit can be set only in the initial setting (before communications).The setting cannot be changed once communication starts."]
4554 #[inline(always)]
4555 pub fn brdym(
4556 self,
4557 ) -> crate::common::RegisterField<
4558 6,
4559 0x1,
4560 1,
4561 0,
4562 sofcfg::Brdym,
4563 sofcfg::Brdym,
4564 Sofcfg_SPEC,
4565 crate::common::RW,
4566 > {
4567 crate::common::RegisterField::<
4568 6,
4569 0x1,
4570 1,
4571 0,
4572 sofcfg::Brdym,
4573 sofcfg::Brdym,
4574 Sofcfg_SPEC,
4575 crate::common::RW,
4576 >::from_register(self, 0)
4577 }
4578
4579 #[doc = "Interrupt Output Sense Select"]
4580 #[inline(always)]
4581 pub fn intl(
4582 self,
4583 ) -> crate::common::RegisterField<
4584 5,
4585 0x1,
4586 1,
4587 0,
4588 sofcfg::Intl,
4589 sofcfg::Intl,
4590 Sofcfg_SPEC,
4591 crate::common::RW,
4592 > {
4593 crate::common::RegisterField::<
4594 5,
4595 0x1,
4596 1,
4597 0,
4598 sofcfg::Intl,
4599 sofcfg::Intl,
4600 Sofcfg_SPEC,
4601 crate::common::RW,
4602 >::from_register(self, 0)
4603 }
4604
4605 #[doc = "Interrupt Edge Processing Status Monitor"]
4606 #[inline(always)]
4607 pub fn edgests(
4608 self,
4609 ) -> crate::common::RegisterField<
4610 4,
4611 0x1,
4612 1,
4613 0,
4614 sofcfg::Edgests,
4615 sofcfg::Edgests,
4616 Sofcfg_SPEC,
4617 crate::common::R,
4618 > {
4619 crate::common::RegisterField::<
4620 4,
4621 0x1,
4622 1,
4623 0,
4624 sofcfg::Edgests,
4625 sofcfg::Edgests,
4626 Sofcfg_SPEC,
4627 crate::common::R,
4628 >::from_register(self, 0)
4629 }
4630}
4631impl ::core::default::Default for Sofcfg {
4632 #[inline(always)]
4633 fn default() -> Sofcfg {
4634 <crate::RegValueT<Sofcfg_SPEC> as RegisterValue<_>>::new(0)
4635 }
4636}
4637pub mod sofcfg {
4638
4639 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4640 pub struct Trnensel_SPEC;
4641 pub type Trnensel = crate::EnumBitfieldStruct<u8, Trnensel_SPEC>;
4642 impl Trnensel {
4643 #[doc = "For non-low-speed communication"]
4644 pub const _0: Self = Self::new(0);
4645
4646 #[doc = "For low-speed communication"]
4647 pub const _1: Self = Self::new(1);
4648 }
4649 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4650 pub struct Brdym_SPEC;
4651 pub type Brdym = crate::EnumBitfieldStruct<u8, Brdym_SPEC>;
4652 impl Brdym {
4653 #[doc = "Software clears the status."]
4654 pub const _0: Self = Self::new(0);
4655
4656 #[doc = "Hardware clears the status when data has been read from the FIFO buffer or data has been written to the FIFO buffer."]
4657 pub const _1: Self = Self::new(1);
4658 }
4659 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4660 pub struct Intl_SPEC;
4661 pub type Intl = crate::EnumBitfieldStruct<u8, Intl_SPEC>;
4662 impl Intl {
4663 #[doc = "Edge sense"]
4664 pub const _0: Self = Self::new(0);
4665
4666 #[doc = "Level sense"]
4667 pub const _1: Self = Self::new(1);
4668 }
4669 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4670 pub struct Edgests_SPEC;
4671 pub type Edgests = crate::EnumBitfieldStruct<u8, Edgests_SPEC>;
4672 impl Edgests {
4673 #[doc = "Interrupt edge processing is not run"]
4674 pub const _0: Self = Self::new(0);
4675
4676 #[doc = "Interrupt edge processing is running"]
4677 pub const _1: Self = Self::new(1);
4678 }
4679}
4680#[doc(hidden)]
4681#[derive(Copy, Clone, Eq, PartialEq)]
4682pub struct Physet_SPEC;
4683impl crate::sealed::RegSpec for Physet_SPEC {
4684 type DataType = u16;
4685}
4686
4687#[doc = "PHY Setting Register"]
4688pub type Physet = crate::RegValueT<Physet_SPEC>;
4689
4690impl Physet {
4691 #[doc = "CL-Only Mode"]
4692 #[inline(always)]
4693 pub fn hseb(
4694 self,
4695 ) -> crate::common::RegisterField<
4696 15,
4697 0x1,
4698 1,
4699 0,
4700 physet::Hseb,
4701 physet::Hseb,
4702 Physet_SPEC,
4703 crate::common::RW,
4704 > {
4705 crate::common::RegisterField::<
4706 15,
4707 0x1,
4708 1,
4709 0,
4710 physet::Hseb,
4711 physet::Hseb,
4712 Physet_SPEC,
4713 crate::common::RW,
4714 >::from_register(self, 0)
4715 }
4716
4717 #[doc = "Forcibly Start Terminating Resistance Adjustment"]
4718 #[inline(always)]
4719 pub fn repstart(
4720 self,
4721 ) -> crate::common::RegisterField<
4722 11,
4723 0x1,
4724 1,
4725 0,
4726 physet::Repstart,
4727 physet::Repstart,
4728 Physet_SPEC,
4729 crate::common::RW,
4730 > {
4731 crate::common::RegisterField::<
4732 11,
4733 0x1,
4734 1,
4735 0,
4736 physet::Repstart,
4737 physet::Repstart,
4738 Physet_SPEC,
4739 crate::common::RW,
4740 >::from_register(self, 0)
4741 }
4742
4743 #[doc = "Terminating Resistance Adjustment Cycle"]
4744 #[inline(always)]
4745 pub fn repsel(
4746 self,
4747 ) -> crate::common::RegisterField<
4748 8,
4749 0x3,
4750 1,
4751 0,
4752 physet::Repsel,
4753 physet::Repsel,
4754 Physet_SPEC,
4755 crate::common::RW,
4756 > {
4757 crate::common::RegisterField::<
4758 8,
4759 0x3,
4760 1,
4761 0,
4762 physet::Repsel,
4763 physet::Repsel,
4764 Physet_SPEC,
4765 crate::common::RW,
4766 >::from_register(self, 0)
4767 }
4768
4769 #[doc = "Input System Clock Frequency"]
4770 #[inline(always)]
4771 pub fn clksel(
4772 self,
4773 ) -> crate::common::RegisterField<
4774 4,
4775 0x3,
4776 1,
4777 0,
4778 physet::Clksel,
4779 physet::Clksel,
4780 Physet_SPEC,
4781 crate::common::RW,
4782 > {
4783 crate::common::RegisterField::<
4784 4,
4785 0x3,
4786 1,
4787 0,
4788 physet::Clksel,
4789 physet::Clksel,
4790 Physet_SPEC,
4791 crate::common::RW,
4792 >::from_register(self, 0)
4793 }
4794
4795 #[doc = "Charging Downstream Port Enable"]
4796 #[inline(always)]
4797 pub fn cdpen(
4798 self,
4799 ) -> crate::common::RegisterField<
4800 3,
4801 0x1,
4802 1,
4803 0,
4804 physet::Cdpen,
4805 physet::Cdpen,
4806 Physet_SPEC,
4807 crate::common::RW,
4808 > {
4809 crate::common::RegisterField::<
4810 3,
4811 0x1,
4812 1,
4813 0,
4814 physet::Cdpen,
4815 physet::Cdpen,
4816 Physet_SPEC,
4817 crate::common::RW,
4818 >::from_register(self, 0)
4819 }
4820
4821 #[doc = "PLL Reset Control"]
4822 #[inline(always)]
4823 pub fn pllreset(
4824 self,
4825 ) -> crate::common::RegisterField<
4826 1,
4827 0x1,
4828 1,
4829 0,
4830 physet::Pllreset,
4831 physet::Pllreset,
4832 Physet_SPEC,
4833 crate::common::RW,
4834 > {
4835 crate::common::RegisterField::<
4836 1,
4837 0x1,
4838 1,
4839 0,
4840 physet::Pllreset,
4841 physet::Pllreset,
4842 Physet_SPEC,
4843 crate::common::RW,
4844 >::from_register(self, 0)
4845 }
4846
4847 #[doc = "Power-Down Control"]
4848 #[inline(always)]
4849 pub fn dirpd(
4850 self,
4851 ) -> crate::common::RegisterField<
4852 0,
4853 0x1,
4854 1,
4855 0,
4856 physet::Dirpd,
4857 physet::Dirpd,
4858 Physet_SPEC,
4859 crate::common::RW,
4860 > {
4861 crate::common::RegisterField::<
4862 0,
4863 0x1,
4864 1,
4865 0,
4866 physet::Dirpd,
4867 physet::Dirpd,
4868 Physet_SPEC,
4869 crate::common::RW,
4870 >::from_register(self, 0)
4871 }
4872}
4873impl ::core::default::Default for Physet {
4874 #[inline(always)]
4875 fn default() -> Physet {
4876 <crate::RegValueT<Physet_SPEC> as RegisterValue<_>>::new(51)
4877 }
4878}
4879pub mod physet {
4880
4881 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4882 pub struct Hseb_SPEC;
4883 pub type Hseb = crate::EnumBitfieldStruct<u8, Hseb_SPEC>;
4884 impl Hseb {
4885 #[doc = "CL-only mode is not activated."]
4886 pub const _0: Self = Self::new(0);
4887
4888 #[doc = "CL-only mode is activated."]
4889 pub const _1: Self = Self::new(1);
4890 }
4891 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4892 pub struct Repstart_SPEC;
4893 pub type Repstart = crate::EnumBitfieldStruct<u8, Repstart_SPEC>;
4894 impl Repstart {
4895 #[doc = "Terminating resistance adjustment is forcibly started"]
4896 pub const _0: Self = Self::new(0);
4897
4898 #[doc = "Terminating resistance adjustment is not forcibly started"]
4899 pub const _1: Self = Self::new(1);
4900 }
4901 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4902 pub struct Repsel_SPEC;
4903 pub type Repsel = crate::EnumBitfieldStruct<u8, Repsel_SPEC>;
4904 impl Repsel {
4905 #[doc = "No cycle is set."]
4906 pub const _00: Self = Self::new(0);
4907
4908 #[doc = "Adjust terminating resistance at 16-second intervals."]
4909 pub const _01: Self = Self::new(1);
4910
4911 #[doc = "Adjust terminating resistance at 64-second intervals."]
4912 pub const _10: Self = Self::new(2);
4913
4914 #[doc = "Adjust terminating resistance at 128-second intervals."]
4915 pub const _11: Self = Self::new(3);
4916 }
4917 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4918 pub struct Clksel_SPEC;
4919 pub type Clksel = crate::EnumBitfieldStruct<u8, Clksel_SPEC>;
4920 impl Clksel {
4921 #[doc = "Setting Prohibited"]
4922 pub const _00: Self = Self::new(0);
4923
4924 #[doc = "12 MHz"]
4925 pub const _01: Self = Self::new(1);
4926
4927 #[doc = "20 MHz"]
4928 pub const _10: Self = Self::new(2);
4929
4930 #[doc = "24 MHz"]
4931 pub const _11: Self = Self::new(3);
4932 }
4933 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4934 pub struct Cdpen_SPEC;
4935 pub type Cdpen = crate::EnumBitfieldStruct<u8, Cdpen_SPEC>;
4936 impl Cdpen {
4937 #[doc = "Disable charging downstream port"]
4938 pub const _0: Self = Self::new(0);
4939
4940 #[doc = "Enable charging downstream port"]
4941 pub const _1: Self = Self::new(1);
4942 }
4943 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4944 pub struct Pllreset_SPEC;
4945 pub type Pllreset = crate::EnumBitfieldStruct<u8, Pllreset_SPEC>;
4946 impl Pllreset {
4947 #[doc = "Disable PLL reset control for UTMI_PHY"]
4948 pub const _0: Self = Self::new(0);
4949
4950 #[doc = "Enable PLL reset control for UTMI_PHY"]
4951 pub const _1: Self = Self::new(1);
4952 }
4953 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4954 pub struct Dirpd_SPEC;
4955 pub type Dirpd = crate::EnumBitfieldStruct<u8, Dirpd_SPEC>;
4956 impl Dirpd {
4957 #[doc = "Does not enter low-power consumption mode"]
4958 pub const _0: Self = Self::new(0);
4959
4960 #[doc = "Enter low-power consumption mode"]
4961 pub const _1: Self = Self::new(1);
4962 }
4963}
4964#[doc(hidden)]
4965#[derive(Copy, Clone, Eq, PartialEq)]
4966pub struct Intsts0_SPEC;
4967impl crate::sealed::RegSpec for Intsts0_SPEC {
4968 type DataType = u16;
4969}
4970
4971#[doc = "Interrupt Status Register 0"]
4972pub type Intsts0 = crate::RegValueT<Intsts0_SPEC>;
4973
4974impl Intsts0 {
4975 #[doc = "VBUS Interrupt Status"]
4976 #[inline(always)]
4977 pub fn vbint(
4978 self,
4979 ) -> crate::common::RegisterField<
4980 15,
4981 0x1,
4982 1,
4983 0,
4984 intsts0::Vbint,
4985 intsts0::Vbint,
4986 Intsts0_SPEC,
4987 crate::common::RW,
4988 > {
4989 crate::common::RegisterField::<
4990 15,
4991 0x1,
4992 1,
4993 0,
4994 intsts0::Vbint,
4995 intsts0::Vbint,
4996 Intsts0_SPEC,
4997 crate::common::RW,
4998 >::from_register(self, 0)
4999 }
5000
5001 #[doc = "Resume Interrupt Status"]
5002 #[inline(always)]
5003 pub fn resm(
5004 self,
5005 ) -> crate::common::RegisterField<
5006 14,
5007 0x1,
5008 1,
5009 0,
5010 intsts0::Resm,
5011 intsts0::Resm,
5012 Intsts0_SPEC,
5013 crate::common::RW,
5014 > {
5015 crate::common::RegisterField::<
5016 14,
5017 0x1,
5018 1,
5019 0,
5020 intsts0::Resm,
5021 intsts0::Resm,
5022 Intsts0_SPEC,
5023 crate::common::RW,
5024 >::from_register(self, 0)
5025 }
5026
5027 #[doc = "Frame Number Refresh Interrupt Status"]
5028 #[inline(always)]
5029 pub fn sofr(
5030 self,
5031 ) -> crate::common::RegisterField<
5032 13,
5033 0x1,
5034 1,
5035 0,
5036 intsts0::Sofr,
5037 intsts0::Sofr,
5038 Intsts0_SPEC,
5039 crate::common::RW,
5040 > {
5041 crate::common::RegisterField::<
5042 13,
5043 0x1,
5044 1,
5045 0,
5046 intsts0::Sofr,
5047 intsts0::Sofr,
5048 Intsts0_SPEC,
5049 crate::common::RW,
5050 >::from_register(self, 0)
5051 }
5052
5053 #[doc = "Device State Transition Interrupt Status"]
5054 #[inline(always)]
5055 pub fn dvst(
5056 self,
5057 ) -> crate::common::RegisterField<
5058 12,
5059 0x1,
5060 1,
5061 0,
5062 intsts0::Dvst,
5063 intsts0::Dvst,
5064 Intsts0_SPEC,
5065 crate::common::RW,
5066 > {
5067 crate::common::RegisterField::<
5068 12,
5069 0x1,
5070 1,
5071 0,
5072 intsts0::Dvst,
5073 intsts0::Dvst,
5074 Intsts0_SPEC,
5075 crate::common::RW,
5076 >::from_register(self, 0)
5077 }
5078
5079 #[doc = "Control Transfer Stage Transition Interrupt Status"]
5080 #[inline(always)]
5081 pub fn ctrt(
5082 self,
5083 ) -> crate::common::RegisterField<
5084 11,
5085 0x1,
5086 1,
5087 0,
5088 intsts0::Ctrt,
5089 intsts0::Ctrt,
5090 Intsts0_SPEC,
5091 crate::common::RW,
5092 > {
5093 crate::common::RegisterField::<
5094 11,
5095 0x1,
5096 1,
5097 0,
5098 intsts0::Ctrt,
5099 intsts0::Ctrt,
5100 Intsts0_SPEC,
5101 crate::common::RW,
5102 >::from_register(self, 0)
5103 }
5104
5105 #[doc = "Buffer Empty Interrupt Status"]
5106 #[inline(always)]
5107 pub fn bemp(
5108 self,
5109 ) -> crate::common::RegisterField<
5110 10,
5111 0x1,
5112 1,
5113 0,
5114 intsts0::Bemp,
5115 intsts0::Bemp,
5116 Intsts0_SPEC,
5117 crate::common::R,
5118 > {
5119 crate::common::RegisterField::<
5120 10,
5121 0x1,
5122 1,
5123 0,
5124 intsts0::Bemp,
5125 intsts0::Bemp,
5126 Intsts0_SPEC,
5127 crate::common::R,
5128 >::from_register(self, 0)
5129 }
5130
5131 #[doc = "Buffer Not Ready Interrupt Status"]
5132 #[inline(always)]
5133 pub fn nrdy(
5134 self,
5135 ) -> crate::common::RegisterField<
5136 9,
5137 0x1,
5138 1,
5139 0,
5140 intsts0::Nrdy,
5141 intsts0::Nrdy,
5142 Intsts0_SPEC,
5143 crate::common::R,
5144 > {
5145 crate::common::RegisterField::<
5146 9,
5147 0x1,
5148 1,
5149 0,
5150 intsts0::Nrdy,
5151 intsts0::Nrdy,
5152 Intsts0_SPEC,
5153 crate::common::R,
5154 >::from_register(self, 0)
5155 }
5156
5157 #[doc = "Buffer Ready Interrupt Status"]
5158 #[inline(always)]
5159 pub fn brdy(
5160 self,
5161 ) -> crate::common::RegisterField<
5162 8,
5163 0x1,
5164 1,
5165 0,
5166 intsts0::Brdy,
5167 intsts0::Brdy,
5168 Intsts0_SPEC,
5169 crate::common::R,
5170 > {
5171 crate::common::RegisterField::<
5172 8,
5173 0x1,
5174 1,
5175 0,
5176 intsts0::Brdy,
5177 intsts0::Brdy,
5178 Intsts0_SPEC,
5179 crate::common::R,
5180 >::from_register(self, 0)
5181 }
5182
5183 #[doc = "VBUS Input Status"]
5184 #[inline(always)]
5185 pub fn vbsts(
5186 self,
5187 ) -> crate::common::RegisterField<
5188 7,
5189 0x1,
5190 1,
5191 0,
5192 intsts0::Vbsts,
5193 intsts0::Vbsts,
5194 Intsts0_SPEC,
5195 crate::common::R,
5196 > {
5197 crate::common::RegisterField::<
5198 7,
5199 0x1,
5200 1,
5201 0,
5202 intsts0::Vbsts,
5203 intsts0::Vbsts,
5204 Intsts0_SPEC,
5205 crate::common::R,
5206 >::from_register(self, 0)
5207 }
5208
5209 #[doc = "Device State"]
5210 #[inline(always)]
5211 pub fn dvsq(
5212 self,
5213 ) -> crate::common::RegisterField<
5214 4,
5215 0x7,
5216 1,
5217 0,
5218 intsts0::Dvsq,
5219 intsts0::Dvsq,
5220 Intsts0_SPEC,
5221 crate::common::R,
5222 > {
5223 crate::common::RegisterField::<
5224 4,
5225 0x7,
5226 1,
5227 0,
5228 intsts0::Dvsq,
5229 intsts0::Dvsq,
5230 Intsts0_SPEC,
5231 crate::common::R,
5232 >::from_register(self, 0)
5233 }
5234
5235 #[doc = "USB Request Reception"]
5236 #[inline(always)]
5237 pub fn valid(
5238 self,
5239 ) -> crate::common::RegisterField<
5240 3,
5241 0x1,
5242 1,
5243 0,
5244 intsts0::Valid,
5245 intsts0::Valid,
5246 Intsts0_SPEC,
5247 crate::common::RW,
5248 > {
5249 crate::common::RegisterField::<
5250 3,
5251 0x1,
5252 1,
5253 0,
5254 intsts0::Valid,
5255 intsts0::Valid,
5256 Intsts0_SPEC,
5257 crate::common::RW,
5258 >::from_register(self, 0)
5259 }
5260
5261 #[doc = "Control Transfer Stage"]
5262 #[inline(always)]
5263 pub fn ctsq(
5264 self,
5265 ) -> crate::common::RegisterField<
5266 0,
5267 0x7,
5268 1,
5269 0,
5270 intsts0::Ctsq,
5271 intsts0::Ctsq,
5272 Intsts0_SPEC,
5273 crate::common::R,
5274 > {
5275 crate::common::RegisterField::<
5276 0,
5277 0x7,
5278 1,
5279 0,
5280 intsts0::Ctsq,
5281 intsts0::Ctsq,
5282 Intsts0_SPEC,
5283 crate::common::R,
5284 >::from_register(self, 0)
5285 }
5286}
5287impl ::core::default::Default for Intsts0 {
5288 #[inline(always)]
5289 fn default() -> Intsts0 {
5290 <crate::RegValueT<Intsts0_SPEC> as RegisterValue<_>>::new(0)
5291 }
5292}
5293pub mod intsts0 {
5294
5295 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5296 pub struct Vbint_SPEC;
5297 pub type Vbint = crate::EnumBitfieldStruct<u8, Vbint_SPEC>;
5298 impl Vbint {
5299 #[doc = "VBUS interrupt is not generated on detecting a change in the USBHS_VBUS pin."]
5300 pub const _0: Self = Self::new(0);
5301
5302 #[doc = "VBUS interrupt is generated on detecting a change in the USBHS_VBUS pin."]
5303 pub const _1: Self = Self::new(1);
5304 }
5305 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5306 pub struct Resm_SPEC;
5307 pub type Resm = crate::EnumBitfieldStruct<u8, Resm_SPEC>;
5308 impl Resm {
5309 #[doc = "Resume interrupts are not generated"]
5310 pub const _0: Self = Self::new(0);
5311
5312 #[doc = "Resume interrupts are generated"]
5313 pub const _1: Self = Self::new(1);
5314 }
5315 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5316 pub struct Sofr_SPEC;
5317 pub type Sofr = crate::EnumBitfieldStruct<u8, Sofr_SPEC>;
5318 impl Sofr {
5319 #[doc = "SOF interrupts are not generated"]
5320 pub const _0: Self = Self::new(0);
5321
5322 #[doc = "SOF interrupts are generated"]
5323 pub const _1: Self = Self::new(1);
5324 }
5325 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5326 pub struct Dvst_SPEC;
5327 pub type Dvst = crate::EnumBitfieldStruct<u8, Dvst_SPEC>;
5328 impl Dvst {
5329 #[doc = "Device state transition interrupts are not generated"]
5330 pub const _0: Self = Self::new(0);
5331
5332 #[doc = "Device state transition interrupts are generated"]
5333 pub const _1: Self = Self::new(1);
5334 }
5335 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5336 pub struct Ctrt_SPEC;
5337 pub type Ctrt = crate::EnumBitfieldStruct<u8, Ctrt_SPEC>;
5338 impl Ctrt {
5339 #[doc = "Control transfer stage transition interrupts are not generated"]
5340 pub const _0: Self = Self::new(0);
5341
5342 #[doc = "Control transfer stage transition interrupts are generated"]
5343 pub const _1: Self = Self::new(1);
5344 }
5345 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5346 pub struct Bemp_SPEC;
5347 pub type Bemp = crate::EnumBitfieldStruct<u8, Bemp_SPEC>;
5348 impl Bemp {
5349 #[doc = "BEMP interrupts are not generated"]
5350 pub const _0: Self = Self::new(0);
5351
5352 #[doc = "BEMP interrupts are not generated"]
5353 pub const _1: Self = Self::new(1);
5354 }
5355 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5356 pub struct Nrdy_SPEC;
5357 pub type Nrdy = crate::EnumBitfieldStruct<u8, Nrdy_SPEC>;
5358 impl Nrdy {
5359 #[doc = "NRDY interrupts are not generated"]
5360 pub const _0: Self = Self::new(0);
5361
5362 #[doc = "NRDY interrupts are generated"]
5363 pub const _1: Self = Self::new(1);
5364 }
5365 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5366 pub struct Brdy_SPEC;
5367 pub type Brdy = crate::EnumBitfieldStruct<u8, Brdy_SPEC>;
5368 impl Brdy {
5369 #[doc = "BRDY interrupts are not generated"]
5370 pub const _0: Self = Self::new(0);
5371
5372 #[doc = "BRDY interrupts are generated"]
5373 pub const _1: Self = Self::new(1);
5374 }
5375 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5376 pub struct Vbsts_SPEC;
5377 pub type Vbsts = crate::EnumBitfieldStruct<u8, Vbsts_SPEC>;
5378 impl Vbsts {
5379 #[doc = "The USBHS_VBUS pin is low"]
5380 pub const _0: Self = Self::new(0);
5381
5382 #[doc = "The USBHS_VBUS pin is high"]
5383 pub const _1: Self = Self::new(1);
5384 }
5385 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5386 pub struct Dvsq_SPEC;
5387 pub type Dvsq = crate::EnumBitfieldStruct<u8, Dvsq_SPEC>;
5388 impl Dvsq {
5389 #[doc = "Powered state"]
5390 pub const _000: Self = Self::new(0);
5391
5392 #[doc = "Default state"]
5393 pub const _001: Self = Self::new(1);
5394
5395 #[doc = "Address state"]
5396 pub const _010: Self = Self::new(2);
5397
5398 #[doc = "Configured state"]
5399 pub const _011: Self = Self::new(3);
5400 }
5401 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5402 pub struct Valid_SPEC;
5403 pub type Valid = crate::EnumBitfieldStruct<u8, Valid_SPEC>;
5404 impl Valid {
5405 #[doc = "Not detected"]
5406 pub const _0: Self = Self::new(0);
5407
5408 #[doc = "Setup packet reception"]
5409 pub const _1: Self = Self::new(1);
5410 }
5411 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5412 pub struct Ctsq_SPEC;
5413 pub type Ctsq = crate::EnumBitfieldStruct<u8, Ctsq_SPEC>;
5414 impl Ctsq {
5415 #[doc = "Idle or setup stage"]
5416 pub const _000: Self = Self::new(0);
5417
5418 #[doc = "Control read data stage"]
5419 pub const _001: Self = Self::new(1);
5420
5421 #[doc = "Control read status stage"]
5422 pub const _010: Self = Self::new(2);
5423
5424 #[doc = "Control write data stage"]
5425 pub const _011: Self = Self::new(3);
5426
5427 #[doc = "Control write status stage"]
5428 pub const _100: Self = Self::new(4);
5429
5430 #[doc = "Control write (no data) status stage"]
5431 pub const _101: Self = Self::new(5);
5432
5433 #[doc = "Control transfer sequence error"]
5434 pub const _110: Self = Self::new(6);
5435
5436 #[doc = "Setting prohibited"]
5437 pub const _111: Self = Self::new(7);
5438 }
5439}
5440#[doc(hidden)]
5441#[derive(Copy, Clone, Eq, PartialEq)]
5442pub struct Intsts1_SPEC;
5443impl crate::sealed::RegSpec for Intsts1_SPEC {
5444 type DataType = u16;
5445}
5446
5447#[doc = "Interrupt Status Register 1"]
5448pub type Intsts1 = crate::RegValueT<Intsts1_SPEC>;
5449
5450impl Intsts1 {
5451 #[doc = "Overcurrent Interrupt Status"]
5452 #[inline(always)]
5453 pub fn ovrcr(
5454 self,
5455 ) -> crate::common::RegisterField<
5456 15,
5457 0x1,
5458 1,
5459 0,
5460 intsts1::Ovrcr,
5461 intsts1::Ovrcr,
5462 Intsts1_SPEC,
5463 crate::common::RW,
5464 > {
5465 crate::common::RegisterField::<
5466 15,
5467 0x1,
5468 1,
5469 0,
5470 intsts1::Ovrcr,
5471 intsts1::Ovrcr,
5472 Intsts1_SPEC,
5473 crate::common::RW,
5474 >::from_register(self, 0)
5475 }
5476
5477 #[doc = "USB Bus Change Interrupt Status"]
5478 #[inline(always)]
5479 pub fn bchg(
5480 self,
5481 ) -> crate::common::RegisterField<
5482 14,
5483 0x1,
5484 1,
5485 0,
5486 intsts1::Bchg,
5487 intsts1::Bchg,
5488 Intsts1_SPEC,
5489 crate::common::RW,
5490 > {
5491 crate::common::RegisterField::<
5492 14,
5493 0x1,
5494 1,
5495 0,
5496 intsts1::Bchg,
5497 intsts1::Bchg,
5498 Intsts1_SPEC,
5499 crate::common::RW,
5500 >::from_register(self, 0)
5501 }
5502
5503 #[doc = "USB Disconnection Detection Interrupt Status"]
5504 #[inline(always)]
5505 pub fn dtch(
5506 self,
5507 ) -> crate::common::RegisterField<
5508 12,
5509 0x1,
5510 1,
5511 0,
5512 intsts1::Dtch,
5513 intsts1::Dtch,
5514 Intsts1_SPEC,
5515 crate::common::RW,
5516 > {
5517 crate::common::RegisterField::<
5518 12,
5519 0x1,
5520 1,
5521 0,
5522 intsts1::Dtch,
5523 intsts1::Dtch,
5524 Intsts1_SPEC,
5525 crate::common::RW,
5526 >::from_register(self, 0)
5527 }
5528
5529 #[doc = "USB Connection Detection Interrupt Status"]
5530 #[inline(always)]
5531 pub fn attch(
5532 self,
5533 ) -> crate::common::RegisterField<
5534 11,
5535 0x1,
5536 1,
5537 0,
5538 intsts1::Attch,
5539 intsts1::Attch,
5540 Intsts1_SPEC,
5541 crate::common::RW,
5542 > {
5543 crate::common::RegisterField::<
5544 11,
5545 0x1,
5546 1,
5547 0,
5548 intsts1::Attch,
5549 intsts1::Attch,
5550 Intsts1_SPEC,
5551 crate::common::RW,
5552 >::from_register(self, 0)
5553 }
5554
5555 #[doc = "L1 Resume End Interrupt Status"]
5556 #[inline(always)]
5557 pub fn l1rsmend(
5558 self,
5559 ) -> crate::common::RegisterField<
5560 9,
5561 0x1,
5562 1,
5563 0,
5564 intsts1::L1Rsmend,
5565 intsts1::L1Rsmend,
5566 Intsts1_SPEC,
5567 crate::common::RW,
5568 > {
5569 crate::common::RegisterField::<
5570 9,
5571 0x1,
5572 1,
5573 0,
5574 intsts1::L1Rsmend,
5575 intsts1::L1Rsmend,
5576 Intsts1_SPEC,
5577 crate::common::RW,
5578 >::from_register(self, 0)
5579 }
5580
5581 #[doc = "LPM Transaction End Interrupt Status"]
5582 #[inline(always)]
5583 pub fn lpmend(
5584 self,
5585 ) -> crate::common::RegisterField<
5586 8,
5587 0x1,
5588 1,
5589 0,
5590 intsts1::Lpmend,
5591 intsts1::Lpmend,
5592 Intsts1_SPEC,
5593 crate::common::RW,
5594 > {
5595 crate::common::RegisterField::<
5596 8,
5597 0x1,
5598 1,
5599 0,
5600 intsts1::Lpmend,
5601 intsts1::Lpmend,
5602 Intsts1_SPEC,
5603 crate::common::RW,
5604 >::from_register(self, 0)
5605 }
5606
5607 #[doc = "EOF Error Detection Interrupt Status"]
5608 #[inline(always)]
5609 pub fn eoferr(
5610 self,
5611 ) -> crate::common::RegisterField<
5612 6,
5613 0x1,
5614 1,
5615 0,
5616 intsts1::Eoferr,
5617 intsts1::Eoferr,
5618 Intsts1_SPEC,
5619 crate::common::RW,
5620 > {
5621 crate::common::RegisterField::<
5622 6,
5623 0x1,
5624 1,
5625 0,
5626 intsts1::Eoferr,
5627 intsts1::Eoferr,
5628 Intsts1_SPEC,
5629 crate::common::RW,
5630 >::from_register(self, 0)
5631 }
5632
5633 #[doc = "Setup Transaction Error Interrupt Status"]
5634 #[inline(always)]
5635 pub fn sign(
5636 self,
5637 ) -> crate::common::RegisterField<
5638 5,
5639 0x1,
5640 1,
5641 0,
5642 intsts1::Sign,
5643 intsts1::Sign,
5644 Intsts1_SPEC,
5645 crate::common::RW,
5646 > {
5647 crate::common::RegisterField::<
5648 5,
5649 0x1,
5650 1,
5651 0,
5652 intsts1::Sign,
5653 intsts1::Sign,
5654 Intsts1_SPEC,
5655 crate::common::RW,
5656 >::from_register(self, 0)
5657 }
5658
5659 #[doc = "Setup Transaction Normal Response Interrupt Status"]
5660 #[inline(always)]
5661 pub fn sack(
5662 self,
5663 ) -> crate::common::RegisterField<
5664 4,
5665 0x1,
5666 1,
5667 0,
5668 intsts1::Sack,
5669 intsts1::Sack,
5670 Intsts1_SPEC,
5671 crate::common::RW,
5672 > {
5673 crate::common::RegisterField::<
5674 4,
5675 0x1,
5676 1,
5677 0,
5678 intsts1::Sack,
5679 intsts1::Sack,
5680 Intsts1_SPEC,
5681 crate::common::RW,
5682 >::from_register(self, 0)
5683 }
5684
5685 #[doc = "PDDET Detection Interrupt Status"]
5686 #[inline(always)]
5687 pub fn pddetint(
5688 self,
5689 ) -> crate::common::RegisterField<
5690 0,
5691 0x1,
5692 1,
5693 0,
5694 intsts1::Pddetint,
5695 intsts1::Pddetint,
5696 Intsts1_SPEC,
5697 crate::common::RW,
5698 > {
5699 crate::common::RegisterField::<
5700 0,
5701 0x1,
5702 1,
5703 0,
5704 intsts1::Pddetint,
5705 intsts1::Pddetint,
5706 Intsts1_SPEC,
5707 crate::common::RW,
5708 >::from_register(self, 0)
5709 }
5710}
5711impl ::core::default::Default for Intsts1 {
5712 #[inline(always)]
5713 fn default() -> Intsts1 {
5714 <crate::RegValueT<Intsts1_SPEC> as RegisterValue<_>>::new(0)
5715 }
5716}
5717pub mod intsts1 {
5718
5719 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5720 pub struct Ovrcr_SPEC;
5721 pub type Ovrcr = crate::EnumBitfieldStruct<u8, Ovrcr_SPEC>;
5722 impl Ovrcr {
5723 #[doc = "OVRCR interrupts are not generated"]
5724 pub const _0: Self = Self::new(0);
5725
5726 #[doc = "OVRCR interrupts are generated"]
5727 pub const _1: Self = Self::new(1);
5728 }
5729 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5730 pub struct Bchg_SPEC;
5731 pub type Bchg = crate::EnumBitfieldStruct<u8, Bchg_SPEC>;
5732 impl Bchg {
5733 #[doc = "BCHG interrupts are not generated"]
5734 pub const _0: Self = Self::new(0);
5735
5736 #[doc = "BCHG interrupts are generated"]
5737 pub const _1: Self = Self::new(1);
5738 }
5739 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5740 pub struct Dtch_SPEC;
5741 pub type Dtch = crate::EnumBitfieldStruct<u8, Dtch_SPEC>;
5742 impl Dtch {
5743 #[doc = "DTCH interrupts are not generated"]
5744 pub const _0: Self = Self::new(0);
5745
5746 #[doc = "DTCH interrupts are generated"]
5747 pub const _1: Self = Self::new(1);
5748 }
5749 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5750 pub struct Attch_SPEC;
5751 pub type Attch = crate::EnumBitfieldStruct<u8, Attch_SPEC>;
5752 impl Attch {
5753 #[doc = "ATTCH interrupts are not generated"]
5754 pub const _0: Self = Self::new(0);
5755
5756 #[doc = "ATTCH interrupts are generated"]
5757 pub const _1: Self = Self::new(1);
5758 }
5759 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5760 pub struct L1Rsmend_SPEC;
5761 pub type L1Rsmend = crate::EnumBitfieldStruct<u8, L1Rsmend_SPEC>;
5762 impl L1Rsmend {
5763 #[doc = "L1RSMEND interrupts are not generated"]
5764 pub const _0: Self = Self::new(0);
5765
5766 #[doc = "L1RSMEND interrupts are generated"]
5767 pub const _1: Self = Self::new(1);
5768 }
5769 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5770 pub struct Lpmend_SPEC;
5771 pub type Lpmend = crate::EnumBitfieldStruct<u8, Lpmend_SPEC>;
5772 impl Lpmend {
5773 #[doc = "LPMEND interrupts are not generated"]
5774 pub const _0: Self = Self::new(0);
5775
5776 #[doc = "LPMEND interrupts are generated"]
5777 pub const _1: Self = Self::new(1);
5778 }
5779 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5780 pub struct Eoferr_SPEC;
5781 pub type Eoferr = crate::EnumBitfieldStruct<u8, Eoferr_SPEC>;
5782 impl Eoferr {
5783 #[doc = "EOFERR interrupts are not generated"]
5784 pub const _0: Self = Self::new(0);
5785
5786 #[doc = "EOFERR interrupts are generated"]
5787 pub const _1: Self = Self::new(1);
5788 }
5789 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5790 pub struct Sign_SPEC;
5791 pub type Sign = crate::EnumBitfieldStruct<u8, Sign_SPEC>;
5792 impl Sign {
5793 #[doc = "SIGN interrupts are not generated"]
5794 pub const _0: Self = Self::new(0);
5795
5796 #[doc = "SIGN interrupts are generated"]
5797 pub const _1: Self = Self::new(1);
5798 }
5799 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5800 pub struct Sack_SPEC;
5801 pub type Sack = crate::EnumBitfieldStruct<u8, Sack_SPEC>;
5802 impl Sack {
5803 #[doc = "SACK interrupts are not generated"]
5804 pub const _0: Self = Self::new(0);
5805
5806 #[doc = "SACK interrupts are generated"]
5807 pub const _1: Self = Self::new(1);
5808 }
5809 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5810 pub struct Pddetint_SPEC;
5811 pub type Pddetint = crate::EnumBitfieldStruct<u8, Pddetint_SPEC>;
5812 impl Pddetint {
5813 #[doc = "PDDET interrupts are not generated"]
5814 pub const _0: Self = Self::new(0);
5815
5816 #[doc = "PDDET interrupts are generated"]
5817 pub const _1: Self = Self::new(1);
5818 }
5819}
5820#[doc(hidden)]
5821#[derive(Copy, Clone, Eq, PartialEq)]
5822pub struct Brdysts_SPEC;
5823impl crate::sealed::RegSpec for Brdysts_SPEC {
5824 type DataType = u16;
5825}
5826
5827#[doc = "BRDY Interrupt Status Register"]
5828pub type Brdysts = crate::RegValueT<Brdysts_SPEC>;
5829
5830impl Brdysts {
5831 #[doc = "BRDY Interrupt Status for Each Pipe"]
5832 #[inline(always)]
5833 pub fn pipebrdy(
5834 self,
5835 ) -> crate::common::RegisterField<
5836 0,
5837 0x3ff,
5838 1,
5839 0,
5840 brdysts::Pipebrdy,
5841 brdysts::Pipebrdy,
5842 Brdysts_SPEC,
5843 crate::common::RW,
5844 > {
5845 crate::common::RegisterField::<
5846 0,
5847 0x3ff,
5848 1,
5849 0,
5850 brdysts::Pipebrdy,
5851 brdysts::Pipebrdy,
5852 Brdysts_SPEC,
5853 crate::common::RW,
5854 >::from_register(self, 0)
5855 }
5856}
5857impl ::core::default::Default for Brdysts {
5858 #[inline(always)]
5859 fn default() -> Brdysts {
5860 <crate::RegValueT<Brdysts_SPEC> as RegisterValue<_>>::new(0)
5861 }
5862}
5863pub mod brdysts {
5864
5865 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5866 pub struct Pipebrdy_SPEC;
5867 pub type Pipebrdy = crate::EnumBitfieldStruct<u8, Pipebrdy_SPEC>;
5868 impl Pipebrdy {
5869 #[doc = "Interrupts are not generated"]
5870 pub const _0: Self = Self::new(0);
5871
5872 #[doc = "Interrupts are generated"]
5873 pub const _1: Self = Self::new(1);
5874 }
5875}
5876#[doc(hidden)]
5877#[derive(Copy, Clone, Eq, PartialEq)]
5878pub struct Nrdysts_SPEC;
5879impl crate::sealed::RegSpec for Nrdysts_SPEC {
5880 type DataType = u16;
5881}
5882
5883#[doc = "NRDY Interrupt Status Register"]
5884pub type Nrdysts = crate::RegValueT<Nrdysts_SPEC>;
5885
5886impl Nrdysts {
5887 #[doc = "NRDY Interrupt Status for Each Pipe"]
5888 #[inline(always)]
5889 pub fn pipenrdy(
5890 self,
5891 ) -> crate::common::RegisterField<
5892 0,
5893 0x3ff,
5894 1,
5895 0,
5896 nrdysts::Pipenrdy,
5897 nrdysts::Pipenrdy,
5898 Nrdysts_SPEC,
5899 crate::common::RW,
5900 > {
5901 crate::common::RegisterField::<
5902 0,
5903 0x3ff,
5904 1,
5905 0,
5906 nrdysts::Pipenrdy,
5907 nrdysts::Pipenrdy,
5908 Nrdysts_SPEC,
5909 crate::common::RW,
5910 >::from_register(self, 0)
5911 }
5912}
5913impl ::core::default::Default for Nrdysts {
5914 #[inline(always)]
5915 fn default() -> Nrdysts {
5916 <crate::RegValueT<Nrdysts_SPEC> as RegisterValue<_>>::new(0)
5917 }
5918}
5919pub mod nrdysts {
5920
5921 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5922 pub struct Pipenrdy_SPEC;
5923 pub type Pipenrdy = crate::EnumBitfieldStruct<u8, Pipenrdy_SPEC>;
5924 impl Pipenrdy {
5925 #[doc = "Interrupts are not generated"]
5926 pub const _0: Self = Self::new(0);
5927
5928 #[doc = "Interrupts are generated"]
5929 pub const _1: Self = Self::new(1);
5930 }
5931}
5932#[doc(hidden)]
5933#[derive(Copy, Clone, Eq, PartialEq)]
5934pub struct Bempsts_SPEC;
5935impl crate::sealed::RegSpec for Bempsts_SPEC {
5936 type DataType = u16;
5937}
5938
5939#[doc = "BEMP Interrupt Status Register"]
5940pub type Bempsts = crate::RegValueT<Bempsts_SPEC>;
5941
5942impl Bempsts {
5943 #[doc = "BEMP Interrupt Status for Each Pipe"]
5944 #[inline(always)]
5945 pub fn pipebemp(
5946 self,
5947 ) -> crate::common::RegisterField<
5948 0,
5949 0x3ff,
5950 1,
5951 0,
5952 bempsts::Pipebemp,
5953 bempsts::Pipebemp,
5954 Bempsts_SPEC,
5955 crate::common::RW,
5956 > {
5957 crate::common::RegisterField::<
5958 0,
5959 0x3ff,
5960 1,
5961 0,
5962 bempsts::Pipebemp,
5963 bempsts::Pipebemp,
5964 Bempsts_SPEC,
5965 crate::common::RW,
5966 >::from_register(self, 0)
5967 }
5968}
5969impl ::core::default::Default for Bempsts {
5970 #[inline(always)]
5971 fn default() -> Bempsts {
5972 <crate::RegValueT<Bempsts_SPEC> as RegisterValue<_>>::new(0)
5973 }
5974}
5975pub mod bempsts {
5976
5977 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5978 pub struct Pipebemp_SPEC;
5979 pub type Pipebemp = crate::EnumBitfieldStruct<u8, Pipebemp_SPEC>;
5980 impl Pipebemp {
5981 #[doc = "Interrupts are not generated"]
5982 pub const _0: Self = Self::new(0);
5983
5984 #[doc = "Interrupts are generated"]
5985 pub const _1: Self = Self::new(1);
5986 }
5987}
5988#[doc(hidden)]
5989#[derive(Copy, Clone, Eq, PartialEq)]
5990pub struct Frmnum_SPEC;
5991impl crate::sealed::RegSpec for Frmnum_SPEC {
5992 type DataType = u16;
5993}
5994
5995#[doc = "Frame Number Register"]
5996pub type Frmnum = crate::RegValueT<Frmnum_SPEC>;
5997
5998impl Frmnum {
5999 #[doc = "Overrun/Underrun Detection Status"]
6000 #[inline(always)]
6001 pub fn ovrn(
6002 self,
6003 ) -> crate::common::RegisterField<
6004 15,
6005 0x1,
6006 1,
6007 0,
6008 frmnum::Ovrn,
6009 frmnum::Ovrn,
6010 Frmnum_SPEC,
6011 crate::common::RW,
6012 > {
6013 crate::common::RegisterField::<
6014 15,
6015 0x1,
6016 1,
6017 0,
6018 frmnum::Ovrn,
6019 frmnum::Ovrn,
6020 Frmnum_SPEC,
6021 crate::common::RW,
6022 >::from_register(self, 0)
6023 }
6024
6025 #[doc = "CRC Error Detection Status"]
6026 #[inline(always)]
6027 pub fn crce(
6028 self,
6029 ) -> crate::common::RegisterField<
6030 14,
6031 0x1,
6032 1,
6033 0,
6034 frmnum::Crce,
6035 frmnum::Crce,
6036 Frmnum_SPEC,
6037 crate::common::RW,
6038 > {
6039 crate::common::RegisterField::<
6040 14,
6041 0x1,
6042 1,
6043 0,
6044 frmnum::Crce,
6045 frmnum::Crce,
6046 Frmnum_SPEC,
6047 crate::common::RW,
6048 >::from_register(self, 0)
6049 }
6050
6051 #[doc = "Frame Number.Indicate the latest frame number."]
6052 #[inline(always)]
6053 pub fn frnm(
6054 self,
6055 ) -> crate::common::RegisterField<0, 0x7ff, 1, 0, u16, u16, Frmnum_SPEC, crate::common::R> {
6056 crate::common::RegisterField::<0,0x7ff,1,0,u16,u16,Frmnum_SPEC,crate::common::R>::from_register(self,0)
6057 }
6058}
6059impl ::core::default::Default for Frmnum {
6060 #[inline(always)]
6061 fn default() -> Frmnum {
6062 <crate::RegValueT<Frmnum_SPEC> as RegisterValue<_>>::new(0)
6063 }
6064}
6065pub mod frmnum {
6066
6067 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6068 pub struct Ovrn_SPEC;
6069 pub type Ovrn = crate::EnumBitfieldStruct<u8, Ovrn_SPEC>;
6070 impl Ovrn {
6071 #[doc = "No error"]
6072 pub const _0: Self = Self::new(0);
6073
6074 #[doc = "An error occurred"]
6075 pub const _1: Self = Self::new(1);
6076 }
6077 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6078 pub struct Crce_SPEC;
6079 pub type Crce = crate::EnumBitfieldStruct<u8, Crce_SPEC>;
6080 impl Crce {
6081 #[doc = "No error"]
6082 pub const _0: Self = Self::new(0);
6083
6084 #[doc = "An error occurred"]
6085 pub const _1: Self = Self::new(1);
6086 }
6087}
6088#[doc(hidden)]
6089#[derive(Copy, Clone, Eq, PartialEq)]
6090pub struct Ufrmnum_SPEC;
6091impl crate::sealed::RegSpec for Ufrmnum_SPEC {
6092 type DataType = u16;
6093}
6094
6095#[doc = "uFrame Number Register"]
6096pub type Ufrmnum = crate::RegValueT<Ufrmnum_SPEC>;
6097
6098impl Ufrmnum {
6099 #[doc = "Device State Change"]
6100 #[inline(always)]
6101 pub fn dvchg(
6102 self,
6103 ) -> crate::common::RegisterField<
6104 15,
6105 0x1,
6106 1,
6107 0,
6108 ufrmnum::Dvchg,
6109 ufrmnum::Dvchg,
6110 Ufrmnum_SPEC,
6111 crate::common::RW,
6112 > {
6113 crate::common::RegisterField::<
6114 15,
6115 0x1,
6116 1,
6117 0,
6118 ufrmnum::Dvchg,
6119 ufrmnum::Dvchg,
6120 Ufrmnum_SPEC,
6121 crate::common::RW,
6122 >::from_register(self, 0)
6123 }
6124
6125 #[doc = "MicroframeIndicate the microframe number."]
6126 #[inline(always)]
6127 pub fn ufrnm(
6128 self,
6129 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, Ufrmnum_SPEC, crate::common::R> {
6130 crate::common::RegisterField::<0,0x7,1,0,u8,u8,Ufrmnum_SPEC,crate::common::R>::from_register(self,0)
6131 }
6132}
6133impl ::core::default::Default for Ufrmnum {
6134 #[inline(always)]
6135 fn default() -> Ufrmnum {
6136 <crate::RegValueT<Ufrmnum_SPEC> as RegisterValue<_>>::new(0)
6137 }
6138}
6139pub mod ufrmnum {
6140
6141 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6142 pub struct Dvchg_SPEC;
6143 pub type Dvchg = crate::EnumBitfieldStruct<u8, Dvchg_SPEC>;
6144 impl Dvchg {
6145 #[doc = "Disables the writing to the USBADDR.STSRECOV0\\[2:0\\] bits and USBADDR.USBADDR\\[6:0\\]."]
6146 pub const _0: Self = Self::new(0);
6147
6148 #[doc = "Enables the writing to the USBADDR.STSRECOV0\\[2:0\\] bits and USBADDR.USBADDR\\[6:0\\]."]
6149 pub const _1: Self = Self::new(1);
6150 }
6151}
6152#[doc(hidden)]
6153#[derive(Copy, Clone, Eq, PartialEq)]
6154pub struct Usbaddr_SPEC;
6155impl crate::sealed::RegSpec for Usbaddr_SPEC {
6156 type DataType = u16;
6157}
6158
6159#[doc = "USB Address Register"]
6160pub type Usbaddr = crate::RegValueT<Usbaddr_SPEC>;
6161
6162impl Usbaddr {
6163 #[doc = "Status Recovery"]
6164 #[inline(always)]
6165 pub fn stsrecov0(
6166 self,
6167 ) -> crate::common::RegisterField<
6168 8,
6169 0x7,
6170 1,
6171 0,
6172 usbaddr::Stsrecov0,
6173 usbaddr::Stsrecov0,
6174 Usbaddr_SPEC,
6175 crate::common::RW,
6176 > {
6177 crate::common::RegisterField::<
6178 8,
6179 0x7,
6180 1,
6181 0,
6182 usbaddr::Stsrecov0,
6183 usbaddr::Stsrecov0,
6184 Usbaddr_SPEC,
6185 crate::common::RW,
6186 >::from_register(self, 0)
6187 }
6188
6189 #[doc = "USB Address In device controller mode, these flags indicate the USB address assigned by the host when the USBHS processed the SET_ADDRESS request successfully."]
6190 #[inline(always)]
6191 pub fn usbaddr(
6192 self,
6193 ) -> crate::common::RegisterField<0, 0x7f, 1, 0, u8, u8, Usbaddr_SPEC, crate::common::R> {
6194 crate::common::RegisterField::<0,0x7f,1,0,u8,u8,Usbaddr_SPEC,crate::common::R>::from_register(self,0)
6195 }
6196}
6197impl ::core::default::Default for Usbaddr {
6198 #[inline(always)]
6199 fn default() -> Usbaddr {
6200 <crate::RegValueT<Usbaddr_SPEC> as RegisterValue<_>>::new(0)
6201 }
6202}
6203pub mod usbaddr {
6204
6205 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6206 pub struct Stsrecov0_SPEC;
6207 pub type Stsrecov0 = crate::EnumBitfieldStruct<u8, Stsrecov0_SPEC>;
6208 impl Stsrecov0 {
6209 #[doc = "Return to the full-speed state(bits DVSTCTR0.RHST\\[2:0\\] = 010b), bits INTSTS0.DVSQ\\[2:0\\] = 001b (Default state)(function controller selected)"]
6210 pub const _001: Self = Self::new(1);
6211
6212 #[doc = "Return to the full-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 010b), bits INTSTS0.DVSQ\\[2:0\\] = 010b (Address state)(function controller selected)/ Return to the low-speed state (bitsDVSTCTR0.RHST\\[2:0\\] = 001b)(host controller is selected)"]
6213 pub const _010: Self = Self::new(2);
6214
6215 #[doc = "Return to the full-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 010b), bits INTSTS0.DVSQ\\[2:0\\] = 011b (Configured state)(function controller selected)"]
6216 pub const _011: Self = Self::new(3);
6217
6218 #[doc = "Return to the full-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 010b)(host controller selected)"]
6219 pub const _100: Self = Self::new(4);
6220
6221 #[doc = "Return to the high-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 011b), bits INTSTS0.DVSQ\\[2:0\\] = 001b (Default state)(function controller selected)"]
6222 pub const _101: Self = Self::new(5);
6223
6224 #[doc = "Return to the high-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 011b), bits INTSTS0.DVSQ\\[2:0\\] = 010b (Address state)(function controller selected)/ Return to the high-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 011b)(host controller selected)"]
6225 pub const _110: Self = Self::new(6);
6226
6227 #[doc = "Return to the high-speed state (bits DVSTCTR0.RHST\\[2:0\\] = 011b), bits INTSTS0.DVSQ\\[2:0\\] = 011b (Configured state)(function controller selected)"]
6228 pub const _111: Self = Self::new(7);
6229 }
6230}
6231#[doc(hidden)]
6232#[derive(Copy, Clone, Eq, PartialEq)]
6233pub struct Usbreq_SPEC;
6234impl crate::sealed::RegSpec for Usbreq_SPEC {
6235 type DataType = u16;
6236}
6237
6238#[doc = "USB Request Type Register"]
6239pub type Usbreq = crate::RegValueT<Usbreq_SPEC>;
6240
6241impl Usbreq {
6242 #[doc = "USB request bRequest value Finction controller selected : read-only Host controller selected : read-write"]
6243 #[inline(always)]
6244 pub fn brequest(
6245 self,
6246 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, Usbreq_SPEC, crate::common::RW> {
6247 crate::common::RegisterField::<8,0xff,1,0,u8,u8,Usbreq_SPEC,crate::common::RW>::from_register(self,0)
6248 }
6249
6250 #[doc = "USB request bmRequestType value Finction controller selected : read-only Host controller selected : read-write"]
6251 #[inline(always)]
6252 pub fn bmrequesttype(
6253 self,
6254 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Usbreq_SPEC, crate::common::RW> {
6255 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Usbreq_SPEC,crate::common::RW>::from_register(self,0)
6256 }
6257}
6258impl ::core::default::Default for Usbreq {
6259 #[inline(always)]
6260 fn default() -> Usbreq {
6261 <crate::RegValueT<Usbreq_SPEC> as RegisterValue<_>>::new(0)
6262 }
6263}
6264
6265#[doc(hidden)]
6266#[derive(Copy, Clone, Eq, PartialEq)]
6267pub struct Usbval_SPEC;
6268impl crate::sealed::RegSpec for Usbval_SPEC {
6269 type DataType = u16;
6270}
6271
6272#[doc = "USB Request Value Register"]
6273pub type Usbval = crate::RegValueT<Usbval_SPEC>;
6274
6275impl Usbval {
6276 #[doc = "Value of USB request wValue Finction controller selected : read-only Host controller selected : read-write"]
6277 #[inline(always)]
6278 pub fn wvalue(
6279 self,
6280 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbval_SPEC, crate::common::RW>
6281 {
6282 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbval_SPEC,crate::common::RW>::from_register(self,0)
6283 }
6284}
6285impl ::core::default::Default for Usbval {
6286 #[inline(always)]
6287 fn default() -> Usbval {
6288 <crate::RegValueT<Usbval_SPEC> as RegisterValue<_>>::new(0)
6289 }
6290}
6291
6292#[doc(hidden)]
6293#[derive(Copy, Clone, Eq, PartialEq)]
6294pub struct Usbindx_SPEC;
6295impl crate::sealed::RegSpec for Usbindx_SPEC {
6296 type DataType = u16;
6297}
6298
6299#[doc = "USB Request Index Register"]
6300pub type Usbindx = crate::RegValueT<Usbindx_SPEC>;
6301
6302impl Usbindx {
6303 #[doc = "Value of USB request wIndex Finction controller selected : read-only Host controller selected : read-write"]
6304 #[inline(always)]
6305 pub fn windex(
6306 self,
6307 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbindx_SPEC, crate::common::RW>
6308 {
6309 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbindx_SPEC,crate::common::RW>::from_register(self,0)
6310 }
6311}
6312impl ::core::default::Default for Usbindx {
6313 #[inline(always)]
6314 fn default() -> Usbindx {
6315 <crate::RegValueT<Usbindx_SPEC> as RegisterValue<_>>::new(0)
6316 }
6317}
6318
6319#[doc(hidden)]
6320#[derive(Copy, Clone, Eq, PartialEq)]
6321pub struct Usbleng_SPEC;
6322impl crate::sealed::RegSpec for Usbleng_SPEC {
6323 type DataType = u16;
6324}
6325
6326#[doc = "USB Request Length Register"]
6327pub type Usbleng = crate::RegValueT<Usbleng_SPEC>;
6328
6329impl Usbleng {
6330 #[doc = "Value of USB request wLength Finction controller selected : read-only Host controller selected : read-write"]
6331 #[inline(always)]
6332 pub fn wlength(
6333 self,
6334 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Usbleng_SPEC, crate::common::RW>
6335 {
6336 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Usbleng_SPEC,crate::common::RW>::from_register(self,0)
6337 }
6338}
6339impl ::core::default::Default for Usbleng {
6340 #[inline(always)]
6341 fn default() -> Usbleng {
6342 <crate::RegValueT<Usbleng_SPEC> as RegisterValue<_>>::new(0)
6343 }
6344}
6345
6346#[doc(hidden)]
6347#[derive(Copy, Clone, Eq, PartialEq)]
6348pub struct Dcpcfg_SPEC;
6349impl crate::sealed::RegSpec for Dcpcfg_SPEC {
6350 type DataType = u16;
6351}
6352
6353#[doc = "DCP Configuration Register"]
6354pub type Dcpcfg = crate::RegValueT<Dcpcfg_SPEC>;
6355
6356impl Dcpcfg {
6357 #[doc = "Continuous Transfer Mode"]
6358 #[inline(always)]
6359 pub fn cntmd(
6360 self,
6361 ) -> crate::common::RegisterField<
6362 8,
6363 0x1,
6364 1,
6365 0,
6366 dcpcfg::Cntmd,
6367 dcpcfg::Cntmd,
6368 Dcpcfg_SPEC,
6369 crate::common::RW,
6370 > {
6371 crate::common::RegisterField::<
6372 8,
6373 0x1,
6374 1,
6375 0,
6376 dcpcfg::Cntmd,
6377 dcpcfg::Cntmd,
6378 Dcpcfg_SPEC,
6379 crate::common::RW,
6380 >::from_register(self, 0)
6381 }
6382
6383 #[doc = "Pipe Blocking on End of Transfer"]
6384 #[inline(always)]
6385 pub fn shtnak(
6386 self,
6387 ) -> crate::common::RegisterField<
6388 7,
6389 0x1,
6390 1,
6391 0,
6392 dcpcfg::Shtnak,
6393 dcpcfg::Shtnak,
6394 Dcpcfg_SPEC,
6395 crate::common::RW,
6396 > {
6397 crate::common::RegisterField::<
6398 7,
6399 0x1,
6400 1,
6401 0,
6402 dcpcfg::Shtnak,
6403 dcpcfg::Shtnak,
6404 Dcpcfg_SPEC,
6405 crate::common::RW,
6406 >::from_register(self, 0)
6407 }
6408
6409 #[doc = "Transfer Direction"]
6410 #[inline(always)]
6411 pub fn dir(
6412 self,
6413 ) -> crate::common::RegisterField<
6414 4,
6415 0x1,
6416 1,
6417 0,
6418 dcpcfg::Dir,
6419 dcpcfg::Dir,
6420 Dcpcfg_SPEC,
6421 crate::common::RW,
6422 > {
6423 crate::common::RegisterField::<
6424 4,
6425 0x1,
6426 1,
6427 0,
6428 dcpcfg::Dir,
6429 dcpcfg::Dir,
6430 Dcpcfg_SPEC,
6431 crate::common::RW,
6432 >::from_register(self, 0)
6433 }
6434}
6435impl ::core::default::Default for Dcpcfg {
6436 #[inline(always)]
6437 fn default() -> Dcpcfg {
6438 <crate::RegValueT<Dcpcfg_SPEC> as RegisterValue<_>>::new(0)
6439 }
6440}
6441pub mod dcpcfg {
6442
6443 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6444 pub struct Cntmd_SPEC;
6445 pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
6446 impl Cntmd {
6447 #[doc = "Non-continuous transfer mode"]
6448 pub const _0: Self = Self::new(0);
6449
6450 #[doc = "Continuous transfer mode"]
6451 pub const _1: Self = Self::new(1);
6452 }
6453 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6454 pub struct Shtnak_SPEC;
6455 pub type Shtnak = crate::EnumBitfieldStruct<u8, Shtnak_SPEC>;
6456 impl Shtnak {
6457 #[doc = "The pipe remains open after transfer ends."]
6458 pub const _0: Self = Self::new(0);
6459
6460 #[doc = "The pipe is blocked after transfer ends."]
6461 pub const _1: Self = Self::new(1);
6462 }
6463 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6464 pub struct Dir_SPEC;
6465 pub type Dir = crate::EnumBitfieldStruct<u8, Dir_SPEC>;
6466 impl Dir {
6467 #[doc = "Data receiving direction"]
6468 pub const _0: Self = Self::new(0);
6469
6470 #[doc = "Data transmitting direction"]
6471 pub const _1: Self = Self::new(1);
6472 }
6473}
6474#[doc(hidden)]
6475#[derive(Copy, Clone, Eq, PartialEq)]
6476pub struct Dcpmaxp_SPEC;
6477impl crate::sealed::RegSpec for Dcpmaxp_SPEC {
6478 type DataType = u16;
6479}
6480
6481#[doc = "DCP Maximum Packet Size Register"]
6482pub type Dcpmaxp = crate::RegValueT<Dcpmaxp_SPEC>;
6483
6484impl Dcpmaxp {
6485 #[doc = "Device SelectThese bits specify the address of the destination function device for control transfer when the host controller function is selected."]
6486 #[inline(always)]
6487 pub fn devsel(
6488 self,
6489 ) -> crate::common::RegisterField<
6490 12,
6491 0xf,
6492 1,
6493 0,
6494 dcpmaxp::Devsel,
6495 dcpmaxp::Devsel,
6496 Dcpmaxp_SPEC,
6497 crate::common::RW,
6498 > {
6499 crate::common::RegisterField::<
6500 12,
6501 0xf,
6502 1,
6503 0,
6504 dcpmaxp::Devsel,
6505 dcpmaxp::Devsel,
6506 Dcpmaxp_SPEC,
6507 crate::common::RW,
6508 >::from_register(self, 0)
6509 }
6510
6511 #[doc = "Maximum Packet SizeThese bits specify the maximum data payload (maximum packet size) for the DCP."]
6512 #[inline(always)]
6513 pub fn mxps(
6514 self,
6515 ) -> crate::common::RegisterField<0, 0x7f, 1, 0, u8, u8, Dcpmaxp_SPEC, crate::common::RW> {
6516 crate::common::RegisterField::<0,0x7f,1,0,u8,u8,Dcpmaxp_SPEC,crate::common::RW>::from_register(self,0)
6517 }
6518}
6519impl ::core::default::Default for Dcpmaxp {
6520 #[inline(always)]
6521 fn default() -> Dcpmaxp {
6522 <crate::RegValueT<Dcpmaxp_SPEC> as RegisterValue<_>>::new(64)
6523 }
6524}
6525pub mod dcpmaxp {
6526
6527 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6528 pub struct Devsel_SPEC;
6529 pub type Devsel = crate::EnumBitfieldStruct<u8, Devsel_SPEC>;
6530 impl Devsel {
6531 #[doc = "Address 0000"]
6532 pub const _0000: Self = Self::new(0);
6533
6534 #[doc = "Address 0001"]
6535 pub const _0001: Self = Self::new(1);
6536
6537 #[doc = "Address 0010"]
6538 pub const _0010: Self = Self::new(2);
6539
6540 #[doc = "Address 0011"]
6541 pub const _0011: Self = Self::new(3);
6542
6543 #[doc = "Address 0100"]
6544 pub const _0100: Self = Self::new(4);
6545
6546 #[doc = "Address 0101"]
6547 pub const _0101: Self = Self::new(5);
6548 }
6549}
6550#[doc(hidden)]
6551#[derive(Copy, Clone, Eq, PartialEq)]
6552pub struct Dcpctr_SPEC;
6553impl crate::sealed::RegSpec for Dcpctr_SPEC {
6554 type DataType = u16;
6555}
6556
6557#[doc = "DCP Control Register"]
6558pub type Dcpctr = crate::RegValueT<Dcpctr_SPEC>;
6559
6560impl Dcpctr {
6561 #[doc = "Buffer Status"]
6562 #[inline(always)]
6563 pub fn bsts(
6564 self,
6565 ) -> crate::common::RegisterField<
6566 15,
6567 0x1,
6568 1,
6569 0,
6570 dcpctr::Bsts,
6571 dcpctr::Bsts,
6572 Dcpctr_SPEC,
6573 crate::common::R,
6574 > {
6575 crate::common::RegisterField::<
6576 15,
6577 0x1,
6578 1,
6579 0,
6580 dcpctr::Bsts,
6581 dcpctr::Bsts,
6582 Dcpctr_SPEC,
6583 crate::common::R,
6584 >::from_register(self, 0)
6585 }
6586
6587 #[doc = "SETUP Token Transmission"]
6588 #[inline(always)]
6589 pub fn sureq(
6590 self,
6591 ) -> crate::common::RegisterField<
6592 14,
6593 0x1,
6594 1,
6595 0,
6596 dcpctr::Sureq,
6597 dcpctr::Sureq,
6598 Dcpctr_SPEC,
6599 crate::common::RW,
6600 > {
6601 crate::common::RegisterField::<
6602 14,
6603 0x1,
6604 1,
6605 0,
6606 dcpctr::Sureq,
6607 dcpctr::Sureq,
6608 Dcpctr_SPEC,
6609 crate::common::RW,
6610 >::from_register(self, 0)
6611 }
6612
6613 #[doc = "Split Transaction CSPLIT Status Clear"]
6614 #[inline(always)]
6615 pub fn csclr(
6616 self,
6617 ) -> crate::common::RegisterField<
6618 13,
6619 0x1,
6620 1,
6621 0,
6622 dcpctr::Csclr,
6623 dcpctr::Csclr,
6624 Dcpctr_SPEC,
6625 crate::common::RW,
6626 > {
6627 crate::common::RegisterField::<
6628 13,
6629 0x1,
6630 1,
6631 0,
6632 dcpctr::Csclr,
6633 dcpctr::Csclr,
6634 Dcpctr_SPEC,
6635 crate::common::RW,
6636 >::from_register(self, 0)
6637 }
6638
6639 #[doc = "Split Transaction COMPLETE SPLIT(CSPLIT) Status"]
6640 #[inline(always)]
6641 pub fn cssts(
6642 self,
6643 ) -> crate::common::RegisterField<
6644 12,
6645 0x1,
6646 1,
6647 0,
6648 dcpctr::Cssts,
6649 dcpctr::Cssts,
6650 Dcpctr_SPEC,
6651 crate::common::R,
6652 > {
6653 crate::common::RegisterField::<
6654 12,
6655 0x1,
6656 1,
6657 0,
6658 dcpctr::Cssts,
6659 dcpctr::Cssts,
6660 Dcpctr_SPEC,
6661 crate::common::R,
6662 >::from_register(self, 0)
6663 }
6664
6665 #[doc = "SUREQ Bit Clear"]
6666 #[inline(always)]
6667 pub fn sureqclr(
6668 self,
6669 ) -> crate::common::RegisterField<
6670 11,
6671 0x1,
6672 1,
6673 0,
6674 dcpctr::Sureqclr,
6675 dcpctr::Sureqclr,
6676 Dcpctr_SPEC,
6677 crate::common::RW,
6678 > {
6679 crate::common::RegisterField::<
6680 11,
6681 0x1,
6682 1,
6683 0,
6684 dcpctr::Sureqclr,
6685 dcpctr::Sureqclr,
6686 Dcpctr_SPEC,
6687 crate::common::RW,
6688 >::from_register(self, 0)
6689 }
6690
6691 #[doc = "Toggle Bit Clear"]
6692 #[inline(always)]
6693 pub fn sqclr(
6694 self,
6695 ) -> crate::common::RegisterField<
6696 8,
6697 0x1,
6698 1,
6699 0,
6700 dcpctr::Sqclr,
6701 dcpctr::Sqclr,
6702 Dcpctr_SPEC,
6703 crate::common::RW,
6704 > {
6705 crate::common::RegisterField::<
6706 8,
6707 0x1,
6708 1,
6709 0,
6710 dcpctr::Sqclr,
6711 dcpctr::Sqclr,
6712 Dcpctr_SPEC,
6713 crate::common::RW,
6714 >::from_register(self, 0)
6715 }
6716
6717 #[doc = "Toggle Bit Set"]
6718 #[inline(always)]
6719 pub fn sqset(
6720 self,
6721 ) -> crate::common::RegisterField<
6722 7,
6723 0x1,
6724 1,
6725 0,
6726 dcpctr::Sqset,
6727 dcpctr::Sqset,
6728 Dcpctr_SPEC,
6729 crate::common::RW,
6730 > {
6731 crate::common::RegisterField::<
6732 7,
6733 0x1,
6734 1,
6735 0,
6736 dcpctr::Sqset,
6737 dcpctr::Sqset,
6738 Dcpctr_SPEC,
6739 crate::common::RW,
6740 >::from_register(self, 0)
6741 }
6742
6743 #[doc = "Sequence Toggle Bit Monitor"]
6744 #[inline(always)]
6745 pub fn sqmon(
6746 self,
6747 ) -> crate::common::RegisterField<
6748 6,
6749 0x1,
6750 1,
6751 0,
6752 dcpctr::Sqmon,
6753 dcpctr::Sqmon,
6754 Dcpctr_SPEC,
6755 crate::common::R,
6756 > {
6757 crate::common::RegisterField::<
6758 6,
6759 0x1,
6760 1,
6761 0,
6762 dcpctr::Sqmon,
6763 dcpctr::Sqmon,
6764 Dcpctr_SPEC,
6765 crate::common::R,
6766 >::from_register(self, 0)
6767 }
6768
6769 #[doc = "Pipe Busy"]
6770 #[inline(always)]
6771 pub fn pbusy(
6772 self,
6773 ) -> crate::common::RegisterField<
6774 5,
6775 0x1,
6776 1,
6777 0,
6778 dcpctr::Pbusy,
6779 dcpctr::Pbusy,
6780 Dcpctr_SPEC,
6781 crate::common::R,
6782 > {
6783 crate::common::RegisterField::<
6784 5,
6785 0x1,
6786 1,
6787 0,
6788 dcpctr::Pbusy,
6789 dcpctr::Pbusy,
6790 Dcpctr_SPEC,
6791 crate::common::R,
6792 >::from_register(self, 0)
6793 }
6794
6795 #[doc = "PING Token Issue Enable"]
6796 #[inline(always)]
6797 pub fn pinge(
6798 self,
6799 ) -> crate::common::RegisterField<
6800 4,
6801 0x1,
6802 1,
6803 0,
6804 dcpctr::Pinge,
6805 dcpctr::Pinge,
6806 Dcpctr_SPEC,
6807 crate::common::RW,
6808 > {
6809 crate::common::RegisterField::<
6810 4,
6811 0x1,
6812 1,
6813 0,
6814 dcpctr::Pinge,
6815 dcpctr::Pinge,
6816 Dcpctr_SPEC,
6817 crate::common::RW,
6818 >::from_register(self, 0)
6819 }
6820
6821 #[doc = "Control Transfer End Enable"]
6822 #[inline(always)]
6823 pub fn ccpl(
6824 self,
6825 ) -> crate::common::RegisterField<
6826 2,
6827 0x1,
6828 1,
6829 0,
6830 dcpctr::Ccpl,
6831 dcpctr::Ccpl,
6832 Dcpctr_SPEC,
6833 crate::common::RW,
6834 > {
6835 crate::common::RegisterField::<
6836 2,
6837 0x1,
6838 1,
6839 0,
6840 dcpctr::Ccpl,
6841 dcpctr::Ccpl,
6842 Dcpctr_SPEC,
6843 crate::common::RW,
6844 >::from_register(self, 0)
6845 }
6846
6847 #[doc = "Response PID"]
6848 #[inline(always)]
6849 pub fn pid(
6850 self,
6851 ) -> crate::common::RegisterField<
6852 0,
6853 0x3,
6854 1,
6855 0,
6856 dcpctr::Pid,
6857 dcpctr::Pid,
6858 Dcpctr_SPEC,
6859 crate::common::RW,
6860 > {
6861 crate::common::RegisterField::<
6862 0,
6863 0x3,
6864 1,
6865 0,
6866 dcpctr::Pid,
6867 dcpctr::Pid,
6868 Dcpctr_SPEC,
6869 crate::common::RW,
6870 >::from_register(self, 0)
6871 }
6872}
6873impl ::core::default::Default for Dcpctr {
6874 #[inline(always)]
6875 fn default() -> Dcpctr {
6876 <crate::RegValueT<Dcpctr_SPEC> as RegisterValue<_>>::new(64)
6877 }
6878}
6879pub mod dcpctr {
6880
6881 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6882 pub struct Bsts_SPEC;
6883 pub type Bsts = crate::EnumBitfieldStruct<u8, Bsts_SPEC>;
6884 impl Bsts {
6885 #[doc = "Buffer access is disabled."]
6886 pub const _0: Self = Self::new(0);
6887
6888 #[doc = "Buffer access is enabled."]
6889 pub const _1: Self = Self::new(1);
6890 }
6891 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6892 pub struct Sureq_SPEC;
6893 pub type Sureq = crate::EnumBitfieldStruct<u8, Sureq_SPEC>;
6894 impl Sureq {
6895 #[doc = "Writing is ignored."]
6896 pub const _0: Self = Self::new(0);
6897
6898 #[doc = "Transmits the setup packet."]
6899 pub const _1: Self = Self::new(1);
6900 }
6901 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6902 pub struct Csclr_SPEC;
6903 pub type Csclr = crate::EnumBitfieldStruct<u8, Csclr_SPEC>;
6904 impl Csclr {
6905 #[doc = "Writing is ignored."]
6906 pub const _0: Self = Self::new(0);
6907
6908 #[doc = "Clears the CSSTS bit to 0."]
6909 pub const _1: Self = Self::new(1);
6910 }
6911 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6912 pub struct Cssts_SPEC;
6913 pub type Cssts = crate::EnumBitfieldStruct<u8, Cssts_SPEC>;
6914 impl Cssts {
6915 #[doc = "START-SPLIT(SSPLIT) transaction processing is in progress or processing for devices that do not use Split Transaction is in progress."]
6916 pub const _0: Self = Self::new(0);
6917
6918 #[doc = "The CSPLIT transaction processing is in progress."]
6919 pub const _1: Self = Self::new(1);
6920 }
6921 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6922 pub struct Sureqclr_SPEC;
6923 pub type Sureqclr = crate::EnumBitfieldStruct<u8, Sureqclr_SPEC>;
6924 impl Sureqclr {
6925 #[doc = "Writing is ignored."]
6926 pub const _0: Self = Self::new(0);
6927
6928 #[doc = "Clears the SUREQ bit to 0."]
6929 pub const _1: Self = Self::new(1);
6930 }
6931 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6932 pub struct Sqclr_SPEC;
6933 pub type Sqclr = crate::EnumBitfieldStruct<u8, Sqclr_SPEC>;
6934 impl Sqclr {
6935 #[doc = "Writing is ignored."]
6936 pub const _0: Self = Self::new(0);
6937
6938 #[doc = "Specifies DATA0."]
6939 pub const _1: Self = Self::new(1);
6940 }
6941 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6942 pub struct Sqset_SPEC;
6943 pub type Sqset = crate::EnumBitfieldStruct<u8, Sqset_SPEC>;
6944 impl Sqset {
6945 #[doc = "Writing is ignored."]
6946 pub const _0: Self = Self::new(0);
6947
6948 #[doc = "Specifies DATA1."]
6949 pub const _1: Self = Self::new(1);
6950 }
6951 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6952 pub struct Sqmon_SPEC;
6953 pub type Sqmon = crate::EnumBitfieldStruct<u8, Sqmon_SPEC>;
6954 impl Sqmon {
6955 #[doc = "DATA0"]
6956 pub const _0: Self = Self::new(0);
6957
6958 #[doc = "DATA1"]
6959 pub const _1: Self = Self::new(1);
6960 }
6961 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6962 pub struct Pbusy_SPEC;
6963 pub type Pbusy = crate::EnumBitfieldStruct<u8, Pbusy_SPEC>;
6964 impl Pbusy {
6965 #[doc = "The relevant pipe is not used for the USB bus."]
6966 pub const _0: Self = Self::new(0);
6967
6968 #[doc = "The relevant pipe is in use for the USB bus."]
6969 pub const _1: Self = Self::new(1);
6970 }
6971 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6972 pub struct Pinge_SPEC;
6973 pub type Pinge = crate::EnumBitfieldStruct<u8, Pinge_SPEC>;
6974 impl Pinge {
6975 #[doc = "Issuing PING token is disabled."]
6976 pub const _0: Self = Self::new(0);
6977
6978 #[doc = "Normal PING operation"]
6979 pub const _1: Self = Self::new(1);
6980 }
6981 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6982 pub struct Ccpl_SPEC;
6983 pub type Ccpl = crate::EnumBitfieldStruct<u8, Ccpl_SPEC>;
6984 impl Ccpl {
6985 #[doc = "Completion of control transfer is disabled."]
6986 pub const _0: Self = Self::new(0);
6987
6988 #[doc = "Completion of control transfer is enabled."]
6989 pub const _1: Self = Self::new(1);
6990 }
6991 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
6992 pub struct Pid_SPEC;
6993 pub type Pid = crate::EnumBitfieldStruct<u8, Pid_SPEC>;
6994 impl Pid {
6995 #[doc = "NAK response"]
6996 pub const _00: Self = Self::new(0);
6997
6998 #[doc = "BUF response (depending on buffer state)"]
6999 pub const _01: Self = Self::new(1);
7000
7001 #[doc = "STALL response"]
7002 pub const _10: Self = Self::new(2);
7003
7004 #[doc = "STALL response"]
7005 pub const _11: Self = Self::new(3);
7006 }
7007}
7008#[doc(hidden)]
7009#[derive(Copy, Clone, Eq, PartialEq)]
7010pub struct Pipesel_SPEC;
7011impl crate::sealed::RegSpec for Pipesel_SPEC {
7012 type DataType = u16;
7013}
7014
7015#[doc = "Pipe Window Select Register"]
7016pub type Pipesel = crate::RegValueT<Pipesel_SPEC>;
7017
7018impl Pipesel {
7019 #[doc = "Pipe Window SelectThese bits specify the pipe for registers at addresses 68H to 6EH."]
7020 #[inline(always)]
7021 pub fn pipesel(
7022 self,
7023 ) -> crate::common::RegisterField<
7024 0,
7025 0xf,
7026 1,
7027 0,
7028 pipesel::Pipesel,
7029 pipesel::Pipesel,
7030 Pipesel_SPEC,
7031 crate::common::RW,
7032 > {
7033 crate::common::RegisterField::<
7034 0,
7035 0xf,
7036 1,
7037 0,
7038 pipesel::Pipesel,
7039 pipesel::Pipesel,
7040 Pipesel_SPEC,
7041 crate::common::RW,
7042 >::from_register(self, 0)
7043 }
7044}
7045impl ::core::default::Default for Pipesel {
7046 #[inline(always)]
7047 fn default() -> Pipesel {
7048 <crate::RegValueT<Pipesel_SPEC> as RegisterValue<_>>::new(0)
7049 }
7050}
7051pub mod pipesel {
7052
7053 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7054 pub struct Pipesel_SPEC;
7055 pub type Pipesel = crate::EnumBitfieldStruct<u8, Pipesel_SPEC>;
7056 impl Pipesel {
7057 #[doc = "No pipe selected"]
7058 pub const _0000: Self = Self::new(0);
7059
7060 #[doc = "PIPE1"]
7061 pub const _0001: Self = Self::new(1);
7062
7063 #[doc = "PIPE2"]
7064 pub const _0010: Self = Self::new(2);
7065
7066 #[doc = "PIPE3"]
7067 pub const _0011: Self = Self::new(3);
7068
7069 #[doc = "PIPE4"]
7070 pub const _0100: Self = Self::new(4);
7071
7072 #[doc = "PIPE5"]
7073 pub const _0101: Self = Self::new(5);
7074
7075 #[doc = "PIPE6"]
7076 pub const _0110: Self = Self::new(6);
7077
7078 #[doc = "PIPE7"]
7079 pub const _0111: Self = Self::new(7);
7080
7081 #[doc = "PIPE8"]
7082 pub const _1000: Self = Self::new(8);
7083
7084 #[doc = "PIPE9"]
7085 pub const _1001: Self = Self::new(9);
7086 }
7087}
7088#[doc(hidden)]
7089#[derive(Copy, Clone, Eq, PartialEq)]
7090pub struct Pipecfg_SPEC;
7091impl crate::sealed::RegSpec for Pipecfg_SPEC {
7092 type DataType = u16;
7093}
7094
7095#[doc = "Pipe Configuration Register"]
7096pub type Pipecfg = crate::RegValueT<Pipecfg_SPEC>;
7097
7098impl Pipecfg {
7099 #[doc = "Transfer Type"]
7100 #[inline(always)]
7101 pub fn r#type(
7102 self,
7103 ) -> crate::common::RegisterField<
7104 14,
7105 0x3,
7106 1,
7107 0,
7108 pipecfg::Type,
7109 pipecfg::Type,
7110 Pipecfg_SPEC,
7111 crate::common::RW,
7112 > {
7113 crate::common::RegisterField::<
7114 14,
7115 0x3,
7116 1,
7117 0,
7118 pipecfg::Type,
7119 pipecfg::Type,
7120 Pipecfg_SPEC,
7121 crate::common::RW,
7122 >::from_register(self, 0)
7123 }
7124
7125 #[doc = "BRDY Interrupt Operation Specification"]
7126 #[inline(always)]
7127 pub fn bfre(
7128 self,
7129 ) -> crate::common::RegisterField<
7130 10,
7131 0x1,
7132 1,
7133 0,
7134 pipecfg::Bfre,
7135 pipecfg::Bfre,
7136 Pipecfg_SPEC,
7137 crate::common::RW,
7138 > {
7139 crate::common::RegisterField::<
7140 10,
7141 0x1,
7142 1,
7143 0,
7144 pipecfg::Bfre,
7145 pipecfg::Bfre,
7146 Pipecfg_SPEC,
7147 crate::common::RW,
7148 >::from_register(self, 0)
7149 }
7150
7151 #[doc = "Double Buffer Mode"]
7152 #[inline(always)]
7153 pub fn dblb(
7154 self,
7155 ) -> crate::common::RegisterField<
7156 9,
7157 0x1,
7158 1,
7159 0,
7160 pipecfg::Dblb,
7161 pipecfg::Dblb,
7162 Pipecfg_SPEC,
7163 crate::common::RW,
7164 > {
7165 crate::common::RegisterField::<
7166 9,
7167 0x1,
7168 1,
7169 0,
7170 pipecfg::Dblb,
7171 pipecfg::Dblb,
7172 Pipecfg_SPEC,
7173 crate::common::RW,
7174 >::from_register(self, 0)
7175 }
7176
7177 #[doc = "Continuous Transfer Mode"]
7178 #[inline(always)]
7179 pub fn cntmd(
7180 self,
7181 ) -> crate::common::RegisterField<
7182 8,
7183 0x1,
7184 1,
7185 0,
7186 pipecfg::Cntmd,
7187 pipecfg::Cntmd,
7188 Pipecfg_SPEC,
7189 crate::common::RW,
7190 > {
7191 crate::common::RegisterField::<
7192 8,
7193 0x1,
7194 1,
7195 0,
7196 pipecfg::Cntmd,
7197 pipecfg::Cntmd,
7198 Pipecfg_SPEC,
7199 crate::common::RW,
7200 >::from_register(self, 0)
7201 }
7202
7203 #[doc = "Pipe Disabled at End of Transfer"]
7204 #[inline(always)]
7205 pub fn shtnak(
7206 self,
7207 ) -> crate::common::RegisterField<
7208 7,
7209 0x1,
7210 1,
7211 0,
7212 pipecfg::Shtnak,
7213 pipecfg::Shtnak,
7214 Pipecfg_SPEC,
7215 crate::common::RW,
7216 > {
7217 crate::common::RegisterField::<
7218 7,
7219 0x1,
7220 1,
7221 0,
7222 pipecfg::Shtnak,
7223 pipecfg::Shtnak,
7224 Pipecfg_SPEC,
7225 crate::common::RW,
7226 >::from_register(self, 0)
7227 }
7228
7229 #[doc = "Transfer Direction"]
7230 #[inline(always)]
7231 pub fn dir(
7232 self,
7233 ) -> crate::common::RegisterField<
7234 4,
7235 0x1,
7236 1,
7237 0,
7238 pipecfg::Dir,
7239 pipecfg::Dir,
7240 Pipecfg_SPEC,
7241 crate::common::RW,
7242 > {
7243 crate::common::RegisterField::<
7244 4,
7245 0x1,
7246 1,
7247 0,
7248 pipecfg::Dir,
7249 pipecfg::Dir,
7250 Pipecfg_SPEC,
7251 crate::common::RW,
7252 >::from_register(self, 0)
7253 }
7254
7255 #[doc = "Endpoint Number"]
7256 #[inline(always)]
7257 pub fn epnum(
7258 self,
7259 ) -> crate::common::RegisterField<
7260 0,
7261 0xf,
7262 1,
7263 0,
7264 pipecfg::Epnum,
7265 pipecfg::Epnum,
7266 Pipecfg_SPEC,
7267 crate::common::RW,
7268 > {
7269 crate::common::RegisterField::<
7270 0,
7271 0xf,
7272 1,
7273 0,
7274 pipecfg::Epnum,
7275 pipecfg::Epnum,
7276 Pipecfg_SPEC,
7277 crate::common::RW,
7278 >::from_register(self, 0)
7279 }
7280}
7281impl ::core::default::Default for Pipecfg {
7282 #[inline(always)]
7283 fn default() -> Pipecfg {
7284 <crate::RegValueT<Pipecfg_SPEC> as RegisterValue<_>>::new(0)
7285 }
7286}
7287pub mod pipecfg {
7288
7289 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7290 pub struct Type_SPEC;
7291 pub type Type = crate::EnumBitfieldStruct<u8, Type_SPEC>;
7292 impl Type {
7293 #[doc = "Pipe not used"]
7294 pub const _00: Self = Self::new(0);
7295
7296 #[doc = "Bulk transfer"]
7297 pub const _01: Self = Self::new(1);
7298
7299 #[doc = "Interrupt transfer"]
7300 pub const _10: Self = Self::new(2);
7301
7302 #[doc = "Isochronous transfer"]
7303 pub const _11: Self = Self::new(3);
7304 }
7305 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7306 pub struct Bfre_SPEC;
7307 pub type Bfre = crate::EnumBitfieldStruct<u8, Bfre_SPEC>;
7308 impl Bfre {
7309 #[doc = "BRDY interrupt upon transmitting or receiving data"]
7310 pub const _0: Self = Self::new(0);
7311
7312 #[doc = "BRDY interrupt upon completion of reading data"]
7313 pub const _1: Self = Self::new(1);
7314 }
7315 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7316 pub struct Dblb_SPEC;
7317 pub type Dblb = crate::EnumBitfieldStruct<u8, Dblb_SPEC>;
7318 impl Dblb {
7319 #[doc = "Single buffer"]
7320 pub const _0: Self = Self::new(0);
7321
7322 #[doc = "Double buffer"]
7323 pub const _1: Self = Self::new(1);
7324 }
7325 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7326 pub struct Cntmd_SPEC;
7327 pub type Cntmd = crate::EnumBitfieldStruct<u8, Cntmd_SPEC>;
7328 impl Cntmd {
7329 #[doc = "Discontinuous transfer mode"]
7330 pub const _0: Self = Self::new(0);
7331
7332 #[doc = "Continuous transfer mode"]
7333 pub const _1: Self = Self::new(1);
7334 }
7335 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7336 pub struct Shtnak_SPEC;
7337 pub type Shtnak = crate::EnumBitfieldStruct<u8, Shtnak_SPEC>;
7338 impl Shtnak {
7339 #[doc = "The pipe is continued at the end of transfer."]
7340 pub const _0: Self = Self::new(0);
7341
7342 #[doc = "The pipe is disabled at the end of transfer."]
7343 pub const _1: Self = Self::new(1);
7344 }
7345 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7346 pub struct Dir_SPEC;
7347 pub type Dir = crate::EnumBitfieldStruct<u8, Dir_SPEC>;
7348 impl Dir {
7349 #[doc = "Receiving direction"]
7350 pub const _0: Self = Self::new(0);
7351
7352 #[doc = "Transmitting direction"]
7353 pub const _1: Self = Self::new(1);
7354 }
7355 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7356 pub struct Epnum_SPEC;
7357 pub type Epnum = crate::EnumBitfieldStruct<u8, Epnum_SPEC>;
7358 impl Epnum {
7359 #[doc = "the selected pipe is not used"]
7360 pub const _000: Self = Self::new(0);
7361 }
7362}
7363#[doc(hidden)]
7364#[derive(Copy, Clone, Eq, PartialEq)]
7365pub struct Pipebuf_SPEC;
7366impl crate::sealed::RegSpec for Pipebuf_SPEC {
7367 type DataType = u16;
7368}
7369
7370#[doc = "Pipe Buffer Register"]
7371pub type Pipebuf = crate::RegValueT<Pipebuf_SPEC>;
7372
7373impl Pipebuf {
7374 #[doc = "Buffer Size 00h: 64 bytes 01h: 128 bytes : 1Fh: 2 Kbytes"]
7375 #[inline(always)]
7376 pub fn bufsize(
7377 self,
7378 ) -> crate::common::RegisterField<10, 0x1f, 1, 0, u8, u8, Pipebuf_SPEC, crate::common::RW> {
7379 crate::common::RegisterField::<10,0x1f,1,0,u8,u8,Pipebuf_SPEC,crate::common::RW>::from_register(self,0)
7380 }
7381
7382 #[doc = "Buffer NumberThese bits specify the FIFO buffer number of the selected pipe (04h to 87h)."]
7383 #[inline(always)]
7384 pub fn bufnmb(
7385 self,
7386 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, Pipebuf_SPEC, crate::common::RW> {
7387 crate::common::RegisterField::<0,0xff,1,0,u8,u8,Pipebuf_SPEC,crate::common::RW>::from_register(self,0)
7388 }
7389}
7390impl ::core::default::Default for Pipebuf {
7391 #[inline(always)]
7392 fn default() -> Pipebuf {
7393 <crate::RegValueT<Pipebuf_SPEC> as RegisterValue<_>>::new(0)
7394 }
7395}
7396
7397#[doc(hidden)]
7398#[derive(Copy, Clone, Eq, PartialEq)]
7399pub struct Pipemaxp_SPEC;
7400impl crate::sealed::RegSpec for Pipemaxp_SPEC {
7401 type DataType = u16;
7402}
7403
7404#[doc = "Pipe Maximum Packet Size Register"]
7405pub type Pipemaxp = crate::RegValueT<Pipemaxp_SPEC>;
7406
7407impl Pipemaxp {
7408 #[doc = "Device SelectThese bits specify the address of the peripheral device when the host controller function is selected."]
7409 #[inline(always)]
7410 pub fn devsel(
7411 self,
7412 ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, Pipemaxp_SPEC, crate::common::RW> {
7413 crate::common::RegisterField::<12,0xf,1,0,u8,u8,Pipemaxp_SPEC,crate::common::RW>::from_register(self,0)
7414 }
7415
7416 #[doc = "Maximum Packet SizeThese bits specify the maximum data payload (maximum packet size) for the selected pipe.A size of 1h to 40h bytes can be set for PIPE6 to PIPE9."]
7417 #[inline(always)]
7418 pub fn mxps(
7419 self,
7420 ) -> crate::common::RegisterField<0, 0x7ff, 1, 0, u16, u16, Pipemaxp_SPEC, crate::common::RW>
7421 {
7422 crate::common::RegisterField::<0,0x7ff,1,0,u16,u16,Pipemaxp_SPEC,crate::common::RW>::from_register(self,0)
7423 }
7424}
7425impl ::core::default::Default for Pipemaxp {
7426 #[inline(always)]
7427 fn default() -> Pipemaxp {
7428 <crate::RegValueT<Pipemaxp_SPEC> as RegisterValue<_>>::new(0)
7429 }
7430}
7431
7432#[doc(hidden)]
7433#[derive(Copy, Clone, Eq, PartialEq)]
7434pub struct Pipeperi_SPEC;
7435impl crate::sealed::RegSpec for Pipeperi_SPEC {
7436 type DataType = u16;
7437}
7438
7439#[doc = "Pipe Cycle Control Register"]
7440pub type Pipeperi = crate::RegValueT<Pipeperi_SPEC>;
7441
7442impl Pipeperi {
7443 #[doc = "Isochronous IN Buffer Flush"]
7444 #[inline(always)]
7445 pub fn ifis(
7446 self,
7447 ) -> crate::common::RegisterField<
7448 12,
7449 0x1,
7450 1,
7451 0,
7452 pipeperi::Ifis,
7453 pipeperi::Ifis,
7454 Pipeperi_SPEC,
7455 crate::common::RW,
7456 > {
7457 crate::common::RegisterField::<
7458 12,
7459 0x1,
7460 1,
7461 0,
7462 pipeperi::Ifis,
7463 pipeperi::Ifis,
7464 Pipeperi_SPEC,
7465 crate::common::RW,
7466 >::from_register(self, 0)
7467 }
7468
7469 #[doc = "Interval Error Detection IntervalThese bits specify the transfer interval timing for the selected pipe as n-th power of 2 of the frame timing."]
7470 #[inline(always)]
7471 pub fn iitv(
7472 self,
7473 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, Pipeperi_SPEC, crate::common::RW> {
7474 crate::common::RegisterField::<0,0x7,1,0,u8,u8,Pipeperi_SPEC,crate::common::RW>::from_register(self,0)
7475 }
7476}
7477impl ::core::default::Default for Pipeperi {
7478 #[inline(always)]
7479 fn default() -> Pipeperi {
7480 <crate::RegValueT<Pipeperi_SPEC> as RegisterValue<_>>::new(0)
7481 }
7482}
7483pub mod pipeperi {
7484
7485 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7486 pub struct Ifis_SPEC;
7487 pub type Ifis = crate::EnumBitfieldStruct<u8, Ifis_SPEC>;
7488 impl Ifis {
7489 #[doc = "The buffer is not flushed."]
7490 pub const _0: Self = Self::new(0);
7491
7492 #[doc = "The buffer is flushed."]
7493 pub const _1: Self = Self::new(1);
7494 }
7495}
7496#[doc(hidden)]
7497#[derive(Copy, Clone, Eq, PartialEq)]
7498pub struct Pipectr_SPEC;
7499impl crate::sealed::RegSpec for Pipectr_SPEC {
7500 type DataType = u16;
7501}
7502
7503#[doc = "PIPE Control Register"]
7504pub type Pipectr = crate::RegValueT<Pipectr_SPEC>;
7505
7506impl Pipectr {
7507 #[doc = "Buffer StatusThis bit indicates the FIFO buffer status for the relevant pipe."]
7508 #[inline(always)]
7509 pub fn bsts(
7510 self,
7511 ) -> crate::common::RegisterField<
7512 15,
7513 0x1,
7514 1,
7515 0,
7516 pipectr::Bsts,
7517 pipectr::Bsts,
7518 Pipectr_SPEC,
7519 crate::common::R,
7520 > {
7521 crate::common::RegisterField::<
7522 15,
7523 0x1,
7524 1,
7525 0,
7526 pipectr::Bsts,
7527 pipectr::Bsts,
7528 Pipectr_SPEC,
7529 crate::common::R,
7530 >::from_register(self, 0)
7531 }
7532
7533 #[doc = "Transmit Buffer MonitorThis bit indicates the FIFO buffer status for the relevant pipe in the transmitting direction."]
7534 #[inline(always)]
7535 pub fn inbufm(
7536 self,
7537 ) -> crate::common::RegisterField<
7538 14,
7539 0x1,
7540 1,
7541 0,
7542 pipectr::Inbufm,
7543 pipectr::Inbufm,
7544 Pipectr_SPEC,
7545 crate::common::R,
7546 > {
7547 crate::common::RegisterField::<
7548 14,
7549 0x1,
7550 1,
7551 0,
7552 pipectr::Inbufm,
7553 pipectr::Inbufm,
7554 Pipectr_SPEC,
7555 crate::common::R,
7556 >::from_register(self, 0)
7557 }
7558
7559 #[doc = "CSPLIT Status ClearSet this bit to 1 when clearing the CSSTS bit of the relevant pipe"]
7560 #[inline(always)]
7561 pub fn csclr(
7562 self,
7563 ) -> crate::common::RegisterField<
7564 13,
7565 0x1,
7566 1,
7567 0,
7568 pipectr::Csclr,
7569 pipectr::Csclr,
7570 Pipectr_SPEC,
7571 crate::common::RW,
7572 > {
7573 crate::common::RegisterField::<
7574 13,
7575 0x1,
7576 1,
7577 0,
7578 pipectr::Csclr,
7579 pipectr::Csclr,
7580 Pipectr_SPEC,
7581 crate::common::RW,
7582 >::from_register(self, 0)
7583 }
7584
7585 #[doc = "CSSTS StatusThis bit indicates the CSPLIT status of Split Transaction of the relevant pipe"]
7586 #[inline(always)]
7587 pub fn cssts(
7588 self,
7589 ) -> crate::common::RegisterField<
7590 12,
7591 0x1,
7592 1,
7593 0,
7594 pipectr::Cssts,
7595 pipectr::Cssts,
7596 Pipectr_SPEC,
7597 crate::common::R,
7598 > {
7599 crate::common::RegisterField::<
7600 12,
7601 0x1,
7602 1,
7603 0,
7604 pipectr::Cssts,
7605 pipectr::Cssts,
7606 Pipectr_SPEC,
7607 crate::common::R,
7608 >::from_register(self, 0)
7609 }
7610
7611 #[doc = "Auto Response ModeThis bit enables or disables auto response mode for the relevant pipe."]
7612 #[inline(always)]
7613 pub fn atrepm(
7614 self,
7615 ) -> crate::common::RegisterField<
7616 10,
7617 0x1,
7618 1,
7619 0,
7620 pipectr::Atrepm,
7621 pipectr::Atrepm,
7622 Pipectr_SPEC,
7623 crate::common::RW,
7624 > {
7625 crate::common::RegisterField::<
7626 10,
7627 0x1,
7628 1,
7629 0,
7630 pipectr::Atrepm,
7631 pipectr::Atrepm,
7632 Pipectr_SPEC,
7633 crate::common::RW,
7634 >::from_register(self, 0)
7635 }
7636
7637 #[doc = "Auto Buffer Clear ModeThis bit enables or disables auto buffer clear mode for the relevant pipe"]
7638 #[inline(always)]
7639 pub fn aclrm(
7640 self,
7641 ) -> crate::common::RegisterField<
7642 9,
7643 0x1,
7644 1,
7645 0,
7646 pipectr::Aclrm,
7647 pipectr::Aclrm,
7648 Pipectr_SPEC,
7649 crate::common::RW,
7650 > {
7651 crate::common::RegisterField::<
7652 9,
7653 0x1,
7654 1,
7655 0,
7656 pipectr::Aclrm,
7657 pipectr::Aclrm,
7658 Pipectr_SPEC,
7659 crate::common::RW,
7660 >::from_register(self, 0)
7661 }
7662
7663 #[doc = "Toggle Bit ClearThis bit is set to 1 when the expected value of the sequence toggle bit for the next transaction of the relevant pipe is cleared to DATA0"]
7664 #[inline(always)]
7665 pub fn sqclr(
7666 self,
7667 ) -> crate::common::RegisterField<
7668 8,
7669 0x1,
7670 1,
7671 0,
7672 pipectr::Sqclr,
7673 pipectr::Sqclr,
7674 Pipectr_SPEC,
7675 crate::common::RW,
7676 > {
7677 crate::common::RegisterField::<
7678 8,
7679 0x1,
7680 1,
7681 0,
7682 pipectr::Sqclr,
7683 pipectr::Sqclr,
7684 Pipectr_SPEC,
7685 crate::common::RW,
7686 >::from_register(self, 0)
7687 }
7688
7689 #[doc = "Toggle Bit SetThis bit is set to 1 when the expected value of the sequence toggle bit for the next transaction of the relevant pipe is set for DATA1"]
7690 #[inline(always)]
7691 pub fn sqset(
7692 self,
7693 ) -> crate::common::RegisterField<
7694 7,
7695 0x1,
7696 1,
7697 0,
7698 pipectr::Sqset,
7699 pipectr::Sqset,
7700 Pipectr_SPEC,
7701 crate::common::RW,
7702 > {
7703 crate::common::RegisterField::<
7704 7,
7705 0x1,
7706 1,
7707 0,
7708 pipectr::Sqset,
7709 pipectr::Sqset,
7710 Pipectr_SPEC,
7711 crate::common::RW,
7712 >::from_register(self, 0)
7713 }
7714
7715 #[doc = "Toggle Bit ConfirmationThis bit indicates the expected value of the sequence toggle bit for the next transaction of the relevant pipe"]
7716 #[inline(always)]
7717 pub fn sqmon(
7718 self,
7719 ) -> crate::common::RegisterField<
7720 6,
7721 0x1,
7722 1,
7723 0,
7724 pipectr::Sqmon,
7725 pipectr::Sqmon,
7726 Pipectr_SPEC,
7727 crate::common::R,
7728 > {
7729 crate::common::RegisterField::<
7730 6,
7731 0x1,
7732 1,
7733 0,
7734 pipectr::Sqmon,
7735 pipectr::Sqmon,
7736 Pipectr_SPEC,
7737 crate::common::R,
7738 >::from_register(self, 0)
7739 }
7740
7741 #[doc = "Pipe BusyThis bit indicates whether the relevant pipe is being used for the USB bus"]
7742 #[inline(always)]
7743 pub fn pbusy(
7744 self,
7745 ) -> crate::common::RegisterField<
7746 5,
7747 0x1,
7748 1,
7749 0,
7750 pipectr::Pbusy,
7751 pipectr::Pbusy,
7752 Pipectr_SPEC,
7753 crate::common::R,
7754 > {
7755 crate::common::RegisterField::<
7756 5,
7757 0x1,
7758 1,
7759 0,
7760 pipectr::Pbusy,
7761 pipectr::Pbusy,
7762 Pipectr_SPEC,
7763 crate::common::R,
7764 >::from_register(self, 0)
7765 }
7766
7767 #[doc = "Response PIDThese bits specify the response type for the next transaction of the relevant pipe."]
7768 #[inline(always)]
7769 pub fn pid(
7770 self,
7771 ) -> crate::common::RegisterField<
7772 0,
7773 0x3,
7774 1,
7775 0,
7776 pipectr::Pid,
7777 pipectr::Pid,
7778 Pipectr_SPEC,
7779 crate::common::RW,
7780 > {
7781 crate::common::RegisterField::<
7782 0,
7783 0x3,
7784 1,
7785 0,
7786 pipectr::Pid,
7787 pipectr::Pid,
7788 Pipectr_SPEC,
7789 crate::common::RW,
7790 >::from_register(self, 0)
7791 }
7792}
7793impl ::core::default::Default for Pipectr {
7794 #[inline(always)]
7795 fn default() -> Pipectr {
7796 <crate::RegValueT<Pipectr_SPEC> as RegisterValue<_>>::new(0)
7797 }
7798}
7799pub mod pipectr {
7800
7801 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7802 pub struct Bsts_SPEC;
7803 pub type Bsts = crate::EnumBitfieldStruct<u8, Bsts_SPEC>;
7804 impl Bsts {
7805 #[doc = "Buffer access is disabled."]
7806 pub const _0: Self = Self::new(0);
7807
7808 #[doc = "Buffer access is enabled."]
7809 pub const _1: Self = Self::new(1);
7810 }
7811 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7812 pub struct Inbufm_SPEC;
7813 pub type Inbufm = crate::EnumBitfieldStruct<u8, Inbufm_SPEC>;
7814 impl Inbufm {
7815 #[doc = "No transmittable data is present in the FIFO buffer."]
7816 pub const _0: Self = Self::new(0);
7817
7818 #[doc = "Transmittable data is present in the FIFO buffer."]
7819 pub const _1: Self = Self::new(1);
7820 }
7821 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7822 pub struct Csclr_SPEC;
7823 pub type Csclr = crate::EnumBitfieldStruct<u8, Csclr_SPEC>;
7824 impl Csclr {
7825 #[doc = "Writing is disabled."]
7826 pub const _0: Self = Self::new(0);
7827
7828 #[doc = "The CSSTS bit is cleared."]
7829 pub const _1: Self = Self::new(1);
7830 }
7831 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7832 pub struct Cssts_SPEC;
7833 pub type Cssts = crate::EnumBitfieldStruct<u8, Cssts_SPEC>;
7834 impl Cssts {
7835 #[doc = "SSplit Transaction processing is in progress or transfer without Split Transaction is in progress."]
7836 pub const _0: Self = Self::new(0);
7837
7838 #[doc = "CSplit Transaction processing is in progress."]
7839 pub const _1: Self = Self::new(1);
7840 }
7841 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7842 pub struct Atrepm_SPEC;
7843 pub type Atrepm = crate::EnumBitfieldStruct<u8, Atrepm_SPEC>;
7844 impl Atrepm {
7845 #[doc = "Auto response mode is disabled."]
7846 pub const _0: Self = Self::new(0);
7847
7848 #[doc = "Auto response mode is enabled (Transmission: zero-length packet response, Reception: NAK response and NRDY interrupt)"]
7849 pub const _1: Self = Self::new(1);
7850 }
7851 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7852 pub struct Aclrm_SPEC;
7853 pub type Aclrm = crate::EnumBitfieldStruct<u8, Aclrm_SPEC>;
7854 impl Aclrm {
7855 #[doc = "Disabled"]
7856 pub const _0: Self = Self::new(0);
7857
7858 #[doc = "Enabled (all buffers are initialized)"]
7859 pub const _1: Self = Self::new(1);
7860 }
7861 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7862 pub struct Sqclr_SPEC;
7863 pub type Sqclr = crate::EnumBitfieldStruct<u8, Sqclr_SPEC>;
7864 impl Sqclr {
7865 #[doc = "Writing is ignored."]
7866 pub const _0: Self = Self::new(0);
7867
7868 #[doc = "Specifies DATA0."]
7869 pub const _1: Self = Self::new(1);
7870 }
7871 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7872 pub struct Sqset_SPEC;
7873 pub type Sqset = crate::EnumBitfieldStruct<u8, Sqset_SPEC>;
7874 impl Sqset {
7875 #[doc = "Writing is ignored."]
7876 pub const _0: Self = Self::new(0);
7877
7878 #[doc = "Specifies DATA1."]
7879 pub const _1: Self = Self::new(1);
7880 }
7881 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7882 pub struct Sqmon_SPEC;
7883 pub type Sqmon = crate::EnumBitfieldStruct<u8, Sqmon_SPEC>;
7884 impl Sqmon {
7885 #[doc = "DATA0"]
7886 pub const _0: Self = Self::new(0);
7887
7888 #[doc = "DATA1"]
7889 pub const _1: Self = Self::new(1);
7890 }
7891 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7892 pub struct Pbusy_SPEC;
7893 pub type Pbusy = crate::EnumBitfieldStruct<u8, Pbusy_SPEC>;
7894 impl Pbusy {
7895 #[doc = "The relevant pipe is not used for the USB bus."]
7896 pub const _0: Self = Self::new(0);
7897
7898 #[doc = "The relevant pipe is in use for the USB bus."]
7899 pub const _1: Self = Self::new(1);
7900 }
7901 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7902 pub struct Pid_SPEC;
7903 pub type Pid = crate::EnumBitfieldStruct<u8, Pid_SPEC>;
7904 impl Pid {
7905 #[doc = "NAK response"]
7906 pub const _00: Self = Self::new(0);
7907
7908 #[doc = "BUF response (depending on buffer state)"]
7909 pub const _01: Self = Self::new(1);
7910
7911 #[doc = "STALL response"]
7912 pub const _10: Self = Self::new(2);
7913
7914 #[doc = "STALL response"]
7915 pub const _11: Self = Self::new(3);
7916 }
7917}
7918#[doc(hidden)]
7919#[derive(Copy, Clone, Eq, PartialEq)]
7920pub struct Pipetre_SPEC;
7921impl crate::sealed::RegSpec for Pipetre_SPEC {
7922 type DataType = u16;
7923}
7924
7925#[doc = "PIPE Transaction Counter Enable Register"]
7926pub type Pipetre = crate::RegValueT<Pipetre_SPEC>;
7927
7928impl Pipetre {
7929 #[doc = "Transaction Counter EnableEnables or disables the transaction counter function."]
7930 #[inline(always)]
7931 pub fn trenb(
7932 self,
7933 ) -> crate::common::RegisterField<
7934 9,
7935 0x1,
7936 1,
7937 0,
7938 pipetre::Trenb,
7939 pipetre::Trenb,
7940 Pipetre_SPEC,
7941 crate::common::RW,
7942 > {
7943 crate::common::RegisterField::<
7944 9,
7945 0x1,
7946 1,
7947 0,
7948 pipetre::Trenb,
7949 pipetre::Trenb,
7950 Pipetre_SPEC,
7951 crate::common::RW,
7952 >::from_register(self, 0)
7953 }
7954
7955 #[doc = "Transaction Counter ClearSetting this bit to 1 allows clearing the transaction counter to 0."]
7956 #[inline(always)]
7957 pub fn trclr(
7958 self,
7959 ) -> crate::common::RegisterField<
7960 8,
7961 0x1,
7962 1,
7963 0,
7964 pipetre::Trclr,
7965 pipetre::Trclr,
7966 Pipetre_SPEC,
7967 crate::common::RW,
7968 > {
7969 crate::common::RegisterField::<
7970 8,
7971 0x1,
7972 1,
7973 0,
7974 pipetre::Trclr,
7975 pipetre::Trclr,
7976 Pipetre_SPEC,
7977 crate::common::RW,
7978 >::from_register(self, 0)
7979 }
7980}
7981impl ::core::default::Default for Pipetre {
7982 #[inline(always)]
7983 fn default() -> Pipetre {
7984 <crate::RegValueT<Pipetre_SPEC> as RegisterValue<_>>::new(0)
7985 }
7986}
7987pub mod pipetre {
7988
7989 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
7990 pub struct Trenb_SPEC;
7991 pub type Trenb = crate::EnumBitfieldStruct<u8, Trenb_SPEC>;
7992 impl Trenb {
7993 #[doc = "The transaction counter function is disabled."]
7994 pub const _0: Self = Self::new(0);
7995
7996 #[doc = "The transaction counter function is enabled."]
7997 pub const _1: Self = Self::new(1);
7998 }
7999 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8000 pub struct Trclr_SPEC;
8001 pub type Trclr = crate::EnumBitfieldStruct<u8, Trclr_SPEC>;
8002 impl Trclr {
8003 #[doc = "Invalid"]
8004 pub const _0: Self = Self::new(0);
8005
8006 #[doc = "The current counter value is cleared."]
8007 pub const _1: Self = Self::new(1);
8008 }
8009}
8010#[doc(hidden)]
8011#[derive(Copy, Clone, Eq, PartialEq)]
8012pub struct Pipetrn_SPEC;
8013impl crate::sealed::RegSpec for Pipetrn_SPEC {
8014 type DataType = u16;
8015}
8016
8017#[doc = "PIPE Transaction Counter Register"]
8018pub type Pipetrn = crate::RegValueT<Pipetrn_SPEC>;
8019
8020impl Pipetrn {
8021 #[doc = "Transaction CounterWhen writing to: Specify the number of total packets (number of transactions) to be received by the relevant PIPE.When read from: When TRENB = 0: Indicate the specified number of transactions.When TRENB = 1: Indicate the number of currently counted transactions."]
8022 #[inline(always)]
8023 pub fn trncnt(
8024 self,
8025 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, Pipetrn_SPEC, crate::common::RW>
8026 {
8027 crate::common::RegisterField::<0,0xffff,1,0,u16,u16,Pipetrn_SPEC,crate::common::RW>::from_register(self,0)
8028 }
8029}
8030impl ::core::default::Default for Pipetrn {
8031 #[inline(always)]
8032 fn default() -> Pipetrn {
8033 <crate::RegValueT<Pipetrn_SPEC> as RegisterValue<_>>::new(0)
8034 }
8035}
8036
8037#[doc(hidden)]
8038#[derive(Copy, Clone, Eq, PartialEq)]
8039pub struct Devadd_SPEC;
8040impl crate::sealed::RegSpec for Devadd_SPEC {
8041 type DataType = u16;
8042}
8043
8044#[doc = "Device Address Configuration Register"]
8045pub type Devadd = crate::RegValueT<Devadd_SPEC>;
8046
8047impl Devadd {
8048 #[doc = "Communication Target Connecting Hub Register"]
8049 #[inline(always)]
8050 pub fn upphub(
8051 self,
8052 ) -> crate::common::RegisterField<
8053 11,
8054 0xf,
8055 1,
8056 0,
8057 devadd::Upphub,
8058 devadd::Upphub,
8059 Devadd_SPEC,
8060 crate::common::RW,
8061 > {
8062 crate::common::RegisterField::<
8063 11,
8064 0xf,
8065 1,
8066 0,
8067 devadd::Upphub,
8068 devadd::Upphub,
8069 Devadd_SPEC,
8070 crate::common::RW,
8071 >::from_register(self, 0)
8072 }
8073
8074 #[doc = "Communication Target Connecting Hub Port"]
8075 #[inline(always)]
8076 pub fn hubport(
8077 self,
8078 ) -> crate::common::RegisterField<
8079 8,
8080 0x7,
8081 1,
8082 0,
8083 devadd::Hubport,
8084 devadd::Hubport,
8085 Devadd_SPEC,
8086 crate::common::RW,
8087 > {
8088 crate::common::RegisterField::<
8089 8,
8090 0x7,
8091 1,
8092 0,
8093 devadd::Hubport,
8094 devadd::Hubport,
8095 Devadd_SPEC,
8096 crate::common::RW,
8097 >::from_register(self, 0)
8098 }
8099
8100 #[doc = "Transfer Speed of Communication Target Device"]
8101 #[inline(always)]
8102 pub fn usbspd(
8103 self,
8104 ) -> crate::common::RegisterField<
8105 6,
8106 0x3,
8107 1,
8108 0,
8109 devadd::Usbspd,
8110 devadd::Usbspd,
8111 Devadd_SPEC,
8112 crate::common::RW,
8113 > {
8114 crate::common::RegisterField::<
8115 6,
8116 0x3,
8117 1,
8118 0,
8119 devadd::Usbspd,
8120 devadd::Usbspd,
8121 Devadd_SPEC,
8122 crate::common::RW,
8123 >::from_register(self, 0)
8124 }
8125}
8126impl ::core::default::Default for Devadd {
8127 #[inline(always)]
8128 fn default() -> Devadd {
8129 <crate::RegValueT<Devadd_SPEC> as RegisterValue<_>>::new(0)
8130 }
8131}
8132pub mod devadd {
8133
8134 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8135 pub struct Upphub_SPEC;
8136 pub type Upphub = crate::EnumBitfieldStruct<u8, Upphub_SPEC>;
8137 impl Upphub {
8138 #[doc = "Directly connected to the port of the USBHS."]
8139 pub const _0000: Self = Self::new(0);
8140 }
8141 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8142 pub struct Hubport_SPEC;
8143 pub type Hubport = crate::EnumBitfieldStruct<u8, Hubport_SPEC>;
8144 impl Hubport {
8145 #[doc = "Directly connected to the port of the USBHS."]
8146 pub const _000: Self = Self::new(0);
8147 }
8148 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8149 pub struct Usbspd_SPEC;
8150 pub type Usbspd = crate::EnumBitfieldStruct<u8, Usbspd_SPEC>;
8151 impl Usbspd {
8152 #[doc = "DEVADDx is not used."]
8153 pub const _00: Self = Self::new(0);
8154
8155 #[doc = "Low speed"]
8156 pub const _01: Self = Self::new(1);
8157
8158 #[doc = "Full speed"]
8159 pub const _10: Self = Self::new(2);
8160
8161 #[doc = "High speed"]
8162 pub const _11: Self = Self::new(3);
8163 }
8164}
8165#[doc(hidden)]
8166#[derive(Copy, Clone, Eq, PartialEq)]
8167pub struct Devadda_SPEC;
8168impl crate::sealed::RegSpec for Devadda_SPEC {
8169 type DataType = u16;
8170}
8171
8172#[doc = "Device Address Configuration Register A"]
8173pub type Devadda = crate::RegValueT<Devadda_SPEC>;
8174
8175impl Devadda {
8176 #[doc = "Communication Target Connecting Hub Register"]
8177 #[inline(always)]
8178 pub fn upphub(
8179 self,
8180 ) -> crate::common::RegisterField<
8181 11,
8182 0xf,
8183 1,
8184 0,
8185 devadda::Upphub,
8186 devadda::Upphub,
8187 Devadda_SPEC,
8188 crate::common::RW,
8189 > {
8190 crate::common::RegisterField::<
8191 11,
8192 0xf,
8193 1,
8194 0,
8195 devadda::Upphub,
8196 devadda::Upphub,
8197 Devadda_SPEC,
8198 crate::common::RW,
8199 >::from_register(self, 0)
8200 }
8201
8202 #[doc = "Communication Target Connecting Hub Port"]
8203 #[inline(always)]
8204 pub fn hubport(
8205 self,
8206 ) -> crate::common::RegisterField<
8207 8,
8208 0x7,
8209 1,
8210 0,
8211 devadda::Hubport,
8212 devadda::Hubport,
8213 Devadda_SPEC,
8214 crate::common::RW,
8215 > {
8216 crate::common::RegisterField::<
8217 8,
8218 0x7,
8219 1,
8220 0,
8221 devadda::Hubport,
8222 devadda::Hubport,
8223 Devadda_SPEC,
8224 crate::common::RW,
8225 >::from_register(self, 0)
8226 }
8227
8228 #[doc = "Transfer Speed of Communication Target Device"]
8229 #[inline(always)]
8230 pub fn usbspd(
8231 self,
8232 ) -> crate::common::RegisterField<
8233 6,
8234 0x3,
8235 1,
8236 0,
8237 devadda::Usbspd,
8238 devadda::Usbspd,
8239 Devadda_SPEC,
8240 crate::common::RW,
8241 > {
8242 crate::common::RegisterField::<
8243 6,
8244 0x3,
8245 1,
8246 0,
8247 devadda::Usbspd,
8248 devadda::Usbspd,
8249 Devadda_SPEC,
8250 crate::common::RW,
8251 >::from_register(self, 0)
8252 }
8253}
8254impl ::core::default::Default for Devadda {
8255 #[inline(always)]
8256 fn default() -> Devadda {
8257 <crate::RegValueT<Devadda_SPEC> as RegisterValue<_>>::new(0)
8258 }
8259}
8260pub mod devadda {
8261
8262 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8263 pub struct Upphub_SPEC;
8264 pub type Upphub = crate::EnumBitfieldStruct<u8, Upphub_SPEC>;
8265 impl Upphub {
8266 #[doc = "Directly connected to the port of the USBHS."]
8267 pub const _0000: Self = Self::new(0);
8268 }
8269 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8270 pub struct Hubport_SPEC;
8271 pub type Hubport = crate::EnumBitfieldStruct<u8, Hubport_SPEC>;
8272 impl Hubport {
8273 #[doc = "Directly connected to the port of the USBHS."]
8274 pub const _000: Self = Self::new(0);
8275 }
8276 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8277 pub struct Usbspd_SPEC;
8278 pub type Usbspd = crate::EnumBitfieldStruct<u8, Usbspd_SPEC>;
8279 impl Usbspd {
8280 #[doc = "DEVADDA is not used."]
8281 pub const _00: Self = Self::new(0);
8282
8283 #[doc = "Low speed"]
8284 pub const _01: Self = Self::new(1);
8285
8286 #[doc = "Full speed"]
8287 pub const _10: Self = Self::new(2);
8288
8289 #[doc = "High speed"]
8290 pub const _11: Self = Self::new(3);
8291 }
8292}
8293#[doc(hidden)]
8294#[derive(Copy, Clone, Eq, PartialEq)]
8295pub struct Lpctrl_SPEC;
8296impl crate::sealed::RegSpec for Lpctrl_SPEC {
8297 type DataType = u16;
8298}
8299
8300#[doc = "Low Power Control Register"]
8301pub type Lpctrl = crate::RegValueT<Lpctrl_SPEC>;
8302
8303impl Lpctrl {
8304 #[doc = "Resume Return Mode Setting"]
8305 #[inline(always)]
8306 pub fn hwupm(
8307 self,
8308 ) -> crate::common::RegisterField<
8309 7,
8310 0x1,
8311 1,
8312 0,
8313 lpctrl::Hwupm,
8314 lpctrl::Hwupm,
8315 Lpctrl_SPEC,
8316 crate::common::RW,
8317 > {
8318 crate::common::RegisterField::<
8319 7,
8320 0x1,
8321 1,
8322 0,
8323 lpctrl::Hwupm,
8324 lpctrl::Hwupm,
8325 Lpctrl_SPEC,
8326 crate::common::RW,
8327 >::from_register(self, 0)
8328 }
8329}
8330impl ::core::default::Default for Lpctrl {
8331 #[inline(always)]
8332 fn default() -> Lpctrl {
8333 <crate::RegValueT<Lpctrl_SPEC> as RegisterValue<_>>::new(0)
8334 }
8335}
8336pub mod lpctrl {
8337
8338 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8339 pub struct Hwupm_SPEC;
8340 pub type Hwupm = crate::EnumBitfieldStruct<u8, Hwupm_SPEC>;
8341 impl Hwupm {
8342 #[doc = "Hardware does not recover while CPU clock inactive"]
8343 pub const _0: Self = Self::new(0);
8344
8345 #[doc = "Hardware recovers while CPU clock inactive."]
8346 pub const _1: Self = Self::new(1);
8347 }
8348}
8349#[doc(hidden)]
8350#[derive(Copy, Clone, Eq, PartialEq)]
8351pub struct Lpsts_SPEC;
8352impl crate::sealed::RegSpec for Lpsts_SPEC {
8353 type DataType = u16;
8354}
8355
8356#[doc = "Low Power Status Register"]
8357pub type Lpsts = crate::RegValueT<Lpsts_SPEC>;
8358
8359impl Lpsts {
8360 #[doc = "UTMI SuspendM Control"]
8361 #[inline(always)]
8362 pub fn suspendm(
8363 self,
8364 ) -> crate::common::RegisterField<
8365 14,
8366 0x1,
8367 1,
8368 0,
8369 lpsts::Suspendm,
8370 lpsts::Suspendm,
8371 Lpsts_SPEC,
8372 crate::common::RW,
8373 > {
8374 crate::common::RegisterField::<
8375 14,
8376 0x1,
8377 1,
8378 0,
8379 lpsts::Suspendm,
8380 lpsts::Suspendm,
8381 Lpsts_SPEC,
8382 crate::common::RW,
8383 >::from_register(self, 0)
8384 }
8385}
8386impl ::core::default::Default for Lpsts {
8387 #[inline(always)]
8388 fn default() -> Lpsts {
8389 <crate::RegValueT<Lpsts_SPEC> as RegisterValue<_>>::new(0)
8390 }
8391}
8392pub mod lpsts {
8393
8394 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8395 pub struct Suspendm_SPEC;
8396 pub type Suspendm = crate::EnumBitfieldStruct<u8, Suspendm_SPEC>;
8397 impl Suspendm {
8398 #[doc = "UTMI suspension mode"]
8399 pub const _0: Self = Self::new(0);
8400
8401 #[doc = "UTMI normal mode"]
8402 pub const _1: Self = Self::new(1);
8403 }
8404}
8405#[doc(hidden)]
8406#[derive(Copy, Clone, Eq, PartialEq)]
8407pub struct Bcctrl_SPEC;
8408impl crate::sealed::RegSpec for Bcctrl_SPEC {
8409 type DataType = u16;
8410}
8411
8412#[doc = "Battery Charging Control Register"]
8413pub type Bcctrl = crate::RegValueT<Bcctrl_SPEC>;
8414
8415impl Bcctrl {
8416 #[doc = "PDDET Status"]
8417 #[inline(always)]
8418 pub fn pddetsts(
8419 self,
8420 ) -> crate::common::RegisterField<
8421 9,
8422 0x1,
8423 1,
8424 0,
8425 bcctrl::Pddetsts,
8426 bcctrl::Pddetsts,
8427 Bcctrl_SPEC,
8428 crate::common::R,
8429 > {
8430 crate::common::RegisterField::<
8431 9,
8432 0x1,
8433 1,
8434 0,
8435 bcctrl::Pddetsts,
8436 bcctrl::Pddetsts,
8437 Bcctrl_SPEC,
8438 crate::common::R,
8439 >::from_register(self, 0)
8440 }
8441
8442 #[doc = "CHGDET Status"]
8443 #[inline(always)]
8444 pub fn chgdetsts(
8445 self,
8446 ) -> crate::common::RegisterField<
8447 8,
8448 0x1,
8449 1,
8450 0,
8451 bcctrl::Chgdetsts,
8452 bcctrl::Chgdetsts,
8453 Bcctrl_SPEC,
8454 crate::common::R,
8455 > {
8456 crate::common::RegisterField::<
8457 8,
8458 0x1,
8459 1,
8460 0,
8461 bcctrl::Chgdetsts,
8462 bcctrl::Chgdetsts,
8463 Bcctrl_SPEC,
8464 crate::common::R,
8465 >::from_register(self, 0)
8466 }
8467
8468 #[doc = "DCP Mode Control"]
8469 #[inline(always)]
8470 pub fn dcpmode(
8471 self,
8472 ) -> crate::common::RegisterField<
8473 5,
8474 0x1,
8475 1,
8476 0,
8477 bcctrl::Dcpmode,
8478 bcctrl::Dcpmode,
8479 Bcctrl_SPEC,
8480 crate::common::RW,
8481 > {
8482 crate::common::RegisterField::<
8483 5,
8484 0x1,
8485 1,
8486 0,
8487 bcctrl::Dcpmode,
8488 bcctrl::Dcpmode,
8489 Bcctrl_SPEC,
8490 crate::common::RW,
8491 >::from_register(self, 0)
8492 }
8493
8494 #[doc = "VDMSRC Control"]
8495 #[inline(always)]
8496 pub fn vdmsrce(
8497 self,
8498 ) -> crate::common::RegisterField<
8499 4,
8500 0x1,
8501 1,
8502 0,
8503 bcctrl::Vdmsrce,
8504 bcctrl::Vdmsrce,
8505 Bcctrl_SPEC,
8506 crate::common::RW,
8507 > {
8508 crate::common::RegisterField::<
8509 4,
8510 0x1,
8511 1,
8512 0,
8513 bcctrl::Vdmsrce,
8514 bcctrl::Vdmsrce,
8515 Bcctrl_SPEC,
8516 crate::common::RW,
8517 >::from_register(self, 0)
8518 }
8519
8520 #[doc = "IDPSINK Control"]
8521 #[inline(always)]
8522 pub fn idpsinke(
8523 self,
8524 ) -> crate::common::RegisterField<
8525 3,
8526 0x1,
8527 1,
8528 0,
8529 bcctrl::Idpsinke,
8530 bcctrl::Idpsinke,
8531 Bcctrl_SPEC,
8532 crate::common::RW,
8533 > {
8534 crate::common::RegisterField::<
8535 3,
8536 0x1,
8537 1,
8538 0,
8539 bcctrl::Idpsinke,
8540 bcctrl::Idpsinke,
8541 Bcctrl_SPEC,
8542 crate::common::RW,
8543 >::from_register(self, 0)
8544 }
8545
8546 #[doc = "VDPSRC Control"]
8547 #[inline(always)]
8548 pub fn vdpsrce(
8549 self,
8550 ) -> crate::common::RegisterField<
8551 2,
8552 0x1,
8553 1,
8554 0,
8555 bcctrl::Vdpsrce,
8556 bcctrl::Vdpsrce,
8557 Bcctrl_SPEC,
8558 crate::common::RW,
8559 > {
8560 crate::common::RegisterField::<
8561 2,
8562 0x1,
8563 1,
8564 0,
8565 bcctrl::Vdpsrce,
8566 bcctrl::Vdpsrce,
8567 Bcctrl_SPEC,
8568 crate::common::RW,
8569 >::from_register(self, 0)
8570 }
8571
8572 #[doc = "IDMSINK Control"]
8573 #[inline(always)]
8574 pub fn idmsinke(
8575 self,
8576 ) -> crate::common::RegisterField<
8577 1,
8578 0x1,
8579 1,
8580 0,
8581 bcctrl::Idmsinke,
8582 bcctrl::Idmsinke,
8583 Bcctrl_SPEC,
8584 crate::common::RW,
8585 > {
8586 crate::common::RegisterField::<
8587 1,
8588 0x1,
8589 1,
8590 0,
8591 bcctrl::Idmsinke,
8592 bcctrl::Idmsinke,
8593 Bcctrl_SPEC,
8594 crate::common::RW,
8595 >::from_register(self, 0)
8596 }
8597
8598 #[doc = "IDPSRC Control"]
8599 #[inline(always)]
8600 pub fn idpsrce(
8601 self,
8602 ) -> crate::common::RegisterField<
8603 0,
8604 0x1,
8605 1,
8606 0,
8607 bcctrl::Idpsrce,
8608 bcctrl::Idpsrce,
8609 Bcctrl_SPEC,
8610 crate::common::RW,
8611 > {
8612 crate::common::RegisterField::<
8613 0,
8614 0x1,
8615 1,
8616 0,
8617 bcctrl::Idpsrce,
8618 bcctrl::Idpsrce,
8619 Bcctrl_SPEC,
8620 crate::common::RW,
8621 >::from_register(self, 0)
8622 }
8623}
8624impl ::core::default::Default for Bcctrl {
8625 #[inline(always)]
8626 fn default() -> Bcctrl {
8627 <crate::RegValueT<Bcctrl_SPEC> as RegisterValue<_>>::new(0)
8628 }
8629}
8630pub mod bcctrl {
8631
8632 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8633 pub struct Pddetsts_SPEC;
8634 pub type Pddetsts = crate::EnumBitfieldStruct<u8, Pddetsts_SPEC>;
8635 impl Pddetsts {
8636 #[doc = "The PDDET pin is at low level."]
8637 pub const _0: Self = Self::new(0);
8638
8639 #[doc = "The PDDET pin is at high level."]
8640 pub const _1: Self = Self::new(1);
8641 }
8642 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8643 pub struct Chgdetsts_SPEC;
8644 pub type Chgdetsts = crate::EnumBitfieldStruct<u8, Chgdetsts_SPEC>;
8645 impl Chgdetsts {
8646 #[doc = "The CHGDET pin is at low level."]
8647 pub const _0: Self = Self::new(0);
8648
8649 #[doc = "The CHGDET pin is at high level."]
8650 pub const _1: Self = Self::new(1);
8651 }
8652 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8653 pub struct Dcpmode_SPEC;
8654 pub type Dcpmode = crate::EnumBitfieldStruct<u8, Dcpmode_SPEC>;
8655 impl Dcpmode {
8656 #[doc = "The RDCP_DAT resistor is disabled"]
8657 pub const _0: Self = Self::new(0);
8658
8659 #[doc = "The RDCP_DAT resistor is enabled."]
8660 pub const _1: Self = Self::new(1);
8661 }
8662 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8663 pub struct Vdmsrce_SPEC;
8664 pub type Vdmsrce = crate::EnumBitfieldStruct<u8, Vdmsrce_SPEC>;
8665 impl Vdmsrce {
8666 #[doc = "The VDM_SRC circuit is disabled. (Initial value)"]
8667 pub const _0: Self = Self::new(0);
8668
8669 #[doc = "The VDM_SRC circuit is enabled."]
8670 pub const _1: Self = Self::new(1);
8671 }
8672 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8673 pub struct Idpsinke_SPEC;
8674 pub type Idpsinke = crate::EnumBitfieldStruct<u8, Idpsinke_SPEC>;
8675 impl Idpsinke {
8676 #[doc = "The IDP_SINK circuit is disabled. (Initial value)"]
8677 pub const _0: Self = Self::new(0);
8678
8679 #[doc = "The IDP_SINK circuit is enabled."]
8680 pub const _1: Self = Self::new(1);
8681 }
8682 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8683 pub struct Vdpsrce_SPEC;
8684 pub type Vdpsrce = crate::EnumBitfieldStruct<u8, Vdpsrce_SPEC>;
8685 impl Vdpsrce {
8686 #[doc = "The VDP_SRC circuit is disabled. (Initial value)"]
8687 pub const _0: Self = Self::new(0);
8688
8689 #[doc = "The VDP_SRC circuit is enabled."]
8690 pub const _1: Self = Self::new(1);
8691 }
8692 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8693 pub struct Idmsinke_SPEC;
8694 pub type Idmsinke = crate::EnumBitfieldStruct<u8, Idmsinke_SPEC>;
8695 impl Idmsinke {
8696 #[doc = "The IDM_SINK circuit is disabled. (Initial value)"]
8697 pub const _0: Self = Self::new(0);
8698
8699 #[doc = "The IDM_SINK circuit is enabled."]
8700 pub const _1: Self = Self::new(1);
8701 }
8702 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8703 pub struct Idpsrce_SPEC;
8704 pub type Idpsrce = crate::EnumBitfieldStruct<u8, Idpsrce_SPEC>;
8705 impl Idpsrce {
8706 #[doc = "The IDP_SRC circuit is disabled. (Initial value)"]
8707 pub const _0: Self = Self::new(0);
8708
8709 #[doc = "The IDP_SRC circuit is enabled."]
8710 pub const _1: Self = Self::new(1);
8711 }
8712}
8713#[doc(hidden)]
8714#[derive(Copy, Clone, Eq, PartialEq)]
8715pub struct Pl1Ctrl1_SPEC;
8716impl crate::sealed::RegSpec for Pl1Ctrl1_SPEC {
8717 type DataType = u16;
8718}
8719
8720#[doc = "Function L1 Control Register 1"]
8721pub type Pl1Ctrl1 = crate::RegValueT<Pl1Ctrl1_SPEC>;
8722
8723impl Pl1Ctrl1 {
8724 #[doc = "PHY Control Mode at L1 Return"]
8725 #[inline(always)]
8726 pub fn l1extmd(
8727 self,
8728 ) -> crate::common::RegisterField<
8729 14,
8730 0x1,
8731 1,
8732 0,
8733 pl1ctrl1::L1Extmd,
8734 pl1ctrl1::L1Extmd,
8735 Pl1Ctrl1_SPEC,
8736 crate::common::RW,
8737 > {
8738 crate::common::RegisterField::<
8739 14,
8740 0x1,
8741 1,
8742 0,
8743 pl1ctrl1::L1Extmd,
8744 pl1ctrl1::L1Extmd,
8745 Pl1Ctrl1_SPEC,
8746 crate::common::RW,
8747 >::from_register(self, 0)
8748 }
8749
8750 #[doc = "L1 Response Negotiation Threshold ValueHIRD threshold value used for L1NEGOMD.The format is the same as the HIRD field in HL1CTRL."]
8751 #[inline(always)]
8752 pub fn hirdthr(
8753 self,
8754 ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, Pl1Ctrl1_SPEC, crate::common::RW> {
8755 crate::common::RegisterField::<8,0xf,1,0,u8,u8,Pl1Ctrl1_SPEC,crate::common::RW>::from_register(self,0)
8756 }
8757
8758 #[doc = "DVSQ Extension.DVSQ\\[3\\] is Mirror of DVSQ\\[2:0\\] in INTSTS0.Indicates the L1 state together with the device state bits DVSQ\\[2:0\\]."]
8759 #[inline(always)]
8760 pub fn dvsq(
8761 self,
8762 ) -> crate::common::RegisterField<
8763 4,
8764 0xf,
8765 1,
8766 0,
8767 pl1ctrl1::Dvsq,
8768 pl1ctrl1::Dvsq,
8769 Pl1Ctrl1_SPEC,
8770 crate::common::R,
8771 > {
8772 crate::common::RegisterField::<
8773 4,
8774 0xf,
8775 1,
8776 0,
8777 pl1ctrl1::Dvsq,
8778 pl1ctrl1::Dvsq,
8779 Pl1Ctrl1_SPEC,
8780 crate::common::R,
8781 >::from_register(self, 0)
8782 }
8783
8784 #[doc = "L1 Response Negotiation Control.NOTE: This bit is valid only when the L1RESPMD\\[1:0\\] value is 2\'b11."]
8785 #[inline(always)]
8786 pub fn l1negomd(
8787 self,
8788 ) -> crate::common::RegisterField<
8789 3,
8790 0x1,
8791 1,
8792 0,
8793 pl1ctrl1::L1Negomd,
8794 pl1ctrl1::L1Negomd,
8795 Pl1Ctrl1_SPEC,
8796 crate::common::RW,
8797 > {
8798 crate::common::RegisterField::<
8799 3,
8800 0x1,
8801 1,
8802 0,
8803 pl1ctrl1::L1Negomd,
8804 pl1ctrl1::L1Negomd,
8805 Pl1Ctrl1_SPEC,
8806 crate::common::RW,
8807 >::from_register(self, 0)
8808 }
8809
8810 #[doc = "L1 Response Mode"]
8811 #[inline(always)]
8812 pub fn l1respmd(
8813 self,
8814 ) -> crate::common::RegisterField<
8815 1,
8816 0x3,
8817 1,
8818 0,
8819 pl1ctrl1::L1Respmd,
8820 pl1ctrl1::L1Respmd,
8821 Pl1Ctrl1_SPEC,
8822 crate::common::RW,
8823 > {
8824 crate::common::RegisterField::<
8825 1,
8826 0x3,
8827 1,
8828 0,
8829 pl1ctrl1::L1Respmd,
8830 pl1ctrl1::L1Respmd,
8831 Pl1Ctrl1_SPEC,
8832 crate::common::RW,
8833 >::from_register(self, 0)
8834 }
8835
8836 #[doc = "L1 Response Enable"]
8837 #[inline(always)]
8838 pub fn l1respen(
8839 self,
8840 ) -> crate::common::RegisterField<
8841 0,
8842 0x1,
8843 1,
8844 0,
8845 pl1ctrl1::L1Respen,
8846 pl1ctrl1::L1Respen,
8847 Pl1Ctrl1_SPEC,
8848 crate::common::RW,
8849 > {
8850 crate::common::RegisterField::<
8851 0,
8852 0x1,
8853 1,
8854 0,
8855 pl1ctrl1::L1Respen,
8856 pl1ctrl1::L1Respen,
8857 Pl1Ctrl1_SPEC,
8858 crate::common::RW,
8859 >::from_register(self, 0)
8860 }
8861}
8862impl ::core::default::Default for Pl1Ctrl1 {
8863 #[inline(always)]
8864 fn default() -> Pl1Ctrl1 {
8865 <crate::RegValueT<Pl1Ctrl1_SPEC> as RegisterValue<_>>::new(0)
8866 }
8867}
8868pub mod pl1ctrl1 {
8869
8870 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8871 pub struct L1Extmd_SPEC;
8872 pub type L1Extmd = crate::EnumBitfieldStruct<u8, L1Extmd_SPEC>;
8873 impl L1Extmd {
8874 #[doc = "SUSPENDM is not set by hardware when Host K is received."]
8875 pub const _0: Self = Self::new(0);
8876
8877 #[doc = "SUSPENDM is set by hardware when Host K is received."]
8878 pub const _1: Self = Self::new(1);
8879 }
8880 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8881 pub struct Dvsq_SPEC;
8882 pub type Dvsq = crate::EnumBitfieldStruct<u8, Dvsq_SPEC>;
8883 impl Dvsq {
8884 #[doc = "Powered state"]
8885 pub const _0000: Self = Self::new(0);
8886
8887 #[doc = "Default state"]
8888 pub const _0001: Self = Self::new(1);
8889
8890 #[doc = "Address state"]
8891 pub const _0010: Self = Self::new(2);
8892
8893 #[doc = "Configured state"]
8894 pub const _0011: Self = Self::new(3);
8895
8896 #[doc = "Suspended state"]
8897 pub const _0100: Self = Self::new(4);
8898
8899 #[doc = "Suspended state"]
8900 pub const _0101: Self = Self::new(5);
8901
8902 #[doc = "Suspended state"]
8903 pub const _0110: Self = Self::new(6);
8904
8905 #[doc = "Suspended state"]
8906 pub const _0111: Self = Self::new(7);
8907
8908 #[doc = "L1 state"]
8909 pub const _1000: Self = Self::new(8);
8910
8911 #[doc = "L1 state"]
8912 pub const _1001: Self = Self::new(9);
8913
8914 #[doc = "L1 state"]
8915 pub const _1010: Self = Self::new(10);
8916
8917 #[doc = "L1 state"]
8918 pub const _1011: Self = Self::new(11);
8919 }
8920 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8921 pub struct L1Negomd_SPEC;
8922 pub type L1Negomd = crate::EnumBitfieldStruct<u8, L1Negomd_SPEC>;
8923 impl L1Negomd {
8924 #[doc = "When receive HIRD is larger than HIRDTHR\\[3:0\\], ACK response is returned. In other cases (including HIRD = HIRDTHR\\[3:0\\]), NYET response is returned."]
8925 pub const _0: Self = Self::new(0);
8926
8927 #[doc = "When receive HIRD is smaller than HIRDTHR\\[3:0\\], ACK response is returned. In other cases (including HIRD = HIRDTHR\\[3:0\\]), NYET response is returned."]
8928 pub const _1: Self = Self::new(1);
8929 }
8930 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8931 pub struct L1Respmd_SPEC;
8932 pub type L1Respmd = crate::EnumBitfieldStruct<u8, L1Respmd_SPEC>;
8933 impl L1Respmd {
8934 #[doc = "NYET"]
8935 pub const _00: Self = Self::new(0);
8936
8937 #[doc = "ACK"]
8938 pub const _01: Self = Self::new(1);
8939
8940 #[doc = "STALL"]
8941 pub const _10: Self = Self::new(2);
8942
8943 #[doc = "According to the L1NEGOMD bit"]
8944 pub const _11: Self = Self::new(3);
8945 }
8946 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
8947 pub struct L1Respen_SPEC;
8948 pub type L1Respen = crate::EnumBitfieldStruct<u8, L1Respen_SPEC>;
8949 impl L1Respen {
8950 #[doc = "LPM is not supported."]
8951 pub const _0: Self = Self::new(0);
8952
8953 #[doc = "LPM is supported."]
8954 pub const _1: Self = Self::new(1);
8955 }
8956}
8957#[doc(hidden)]
8958#[derive(Copy, Clone, Eq, PartialEq)]
8959pub struct Pl1Ctrl2_SPEC;
8960impl crate::sealed::RegSpec for Pl1Ctrl2_SPEC {
8961 type DataType = u16;
8962}
8963
8964#[doc = "Function L1 Control Register 2"]
8965pub type Pl1Ctrl2 = crate::RegValueT<Pl1Ctrl2_SPEC>;
8966
8967impl Pl1Ctrl2 {
8968 #[doc = "RWE Value Monitor"]
8969 #[inline(always)]
8970 pub fn rwemon(
8971 self,
8972 ) -> crate::common::RegisterField<
8973 12,
8974 0x1,
8975 1,
8976 0,
8977 pl1ctrl2::Rwemon,
8978 pl1ctrl2::Rwemon,
8979 Pl1Ctrl2_SPEC,
8980 crate::common::RW,
8981 > {
8982 crate::common::RegisterField::<
8983 12,
8984 0x1,
8985 1,
8986 0,
8987 pl1ctrl2::Rwemon,
8988 pl1ctrl2::Rwemon,
8989 Pl1Ctrl2_SPEC,
8990 crate::common::RW,
8991 >::from_register(self, 0)
8992 }
8993
8994 #[doc = "HIRD Value Monitor"]
8995 #[inline(always)]
8996 pub fn hirdmon(
8997 self,
8998 ) -> crate::common::RegisterField<
8999 8,
9000 0xf,
9001 1,
9002 0,
9003 pl1ctrl2::Hirdmon,
9004 pl1ctrl2::Hirdmon,
9005 Pl1Ctrl2_SPEC,
9006 crate::common::RW,
9007 > {
9008 crate::common::RegisterField::<
9009 8,
9010 0xf,
9011 1,
9012 0,
9013 pl1ctrl2::Hirdmon,
9014 pl1ctrl2::Hirdmon,
9015 Pl1Ctrl2_SPEC,
9016 crate::common::RW,
9017 >::from_register(self, 0)
9018 }
9019}
9020impl ::core::default::Default for Pl1Ctrl2 {
9021 #[inline(always)]
9022 fn default() -> Pl1Ctrl2 {
9023 <crate::RegValueT<Pl1Ctrl2_SPEC> as RegisterValue<_>>::new(0)
9024 }
9025}
9026pub mod pl1ctrl2 {
9027
9028 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9029 pub struct Rwemon_SPEC;
9030 pub type Rwemon = crate::EnumBitfieldStruct<u8, Rwemon_SPEC>;
9031 impl Rwemon {
9032 #[doc = "The RWE bit value of the LPM token received last is reflected."]
9033 pub const _0: Self = Self::new(0);
9034
9035 #[doc = "The RWE bit value of the LPM token received last is reflected."]
9036 pub const _1: Self = Self::new(1);
9037 }
9038 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9039 pub struct Hirdmon_SPEC;
9040 pub type Hirdmon = crate::EnumBitfieldStruct<u8, Hirdmon_SPEC>;
9041 impl Hirdmon {
9042 #[doc = "The HIRD field value of the LPM token received last is reflected."]
9043 pub const _0: Self = Self::new(0);
9044
9045 #[doc = "The HIRD field value of the LPM token received last is reflected."]
9046 pub const _1: Self = Self::new(1);
9047 }
9048}
9049#[doc(hidden)]
9050#[derive(Copy, Clone, Eq, PartialEq)]
9051pub struct Hl1Ctrl1_SPEC;
9052impl crate::sealed::RegSpec for Hl1Ctrl1_SPEC {
9053 type DataType = u16;
9054}
9055
9056#[doc = "Host L1 Control Register 1"]
9057pub type Hl1Ctrl1 = crate::RegValueT<Hl1Ctrl1_SPEC>;
9058
9059impl Hl1Ctrl1 {
9060 #[doc = "L1 Request Completion Status"]
9061 #[inline(always)]
9062 pub fn l1status(
9063 self,
9064 ) -> crate::common::RegisterField<
9065 1,
9066 0x3,
9067 1,
9068 0,
9069 hl1ctrl1::L1Status,
9070 hl1ctrl1::L1Status,
9071 Hl1Ctrl1_SPEC,
9072 crate::common::R,
9073 > {
9074 crate::common::RegisterField::<
9075 1,
9076 0x3,
9077 1,
9078 0,
9079 hl1ctrl1::L1Status,
9080 hl1ctrl1::L1Status,
9081 Hl1Ctrl1_SPEC,
9082 crate::common::R,
9083 >::from_register(self, 0)
9084 }
9085
9086 #[doc = "L1 Transition Request"]
9087 #[inline(always)]
9088 pub fn l1req(
9089 self,
9090 ) -> crate::common::RegisterField<
9091 0,
9092 0x1,
9093 1,
9094 0,
9095 hl1ctrl1::L1Req,
9096 hl1ctrl1::L1Req,
9097 Hl1Ctrl1_SPEC,
9098 crate::common::RW,
9099 > {
9100 crate::common::RegisterField::<
9101 0,
9102 0x1,
9103 1,
9104 0,
9105 hl1ctrl1::L1Req,
9106 hl1ctrl1::L1Req,
9107 Hl1Ctrl1_SPEC,
9108 crate::common::RW,
9109 >::from_register(self, 0)
9110 }
9111}
9112impl ::core::default::Default for Hl1Ctrl1 {
9113 #[inline(always)]
9114 fn default() -> Hl1Ctrl1 {
9115 <crate::RegValueT<Hl1Ctrl1_SPEC> as RegisterValue<_>>::new(0)
9116 }
9117}
9118pub mod hl1ctrl1 {
9119
9120 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9121 pub struct L1Status_SPEC;
9122 pub type L1Status = crate::EnumBitfieldStruct<u8, L1Status_SPEC>;
9123 impl L1Status {
9124 #[doc = "ACK received"]
9125 pub const _00: Self = Self::new(0);
9126
9127 #[doc = "NYET received"]
9128 pub const _01: Self = Self::new(1);
9129
9130 #[doc = "STALL received"]
9131 pub const _10: Self = Self::new(2);
9132
9133 #[doc = "Transaction error"]
9134 pub const _11: Self = Self::new(3);
9135 }
9136 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9137 pub struct L1Req_SPEC;
9138 pub type L1Req = crate::EnumBitfieldStruct<u8, L1Req_SPEC>;
9139 impl L1Req {
9140 #[doc = "This bit is cleared to 0 by hardware when the LPM transaction is completed."]
9141 pub const _0: Self = Self::new(0);
9142
9143 #[doc = "Set this bit to 1 when requesting a transition to the L1 state."]
9144 pub const _1: Self = Self::new(1);
9145 }
9146}
9147#[doc(hidden)]
9148#[derive(Copy, Clone, Eq, PartialEq)]
9149pub struct Hl1Ctrl2_SPEC;
9150impl crate::sealed::RegSpec for Hl1Ctrl2_SPEC {
9151 type DataType = u16;
9152}
9153
9154#[doc = "Host L1 Control Register 2"]
9155pub type Hl1Ctrl2 = crate::RegValueT<Hl1Ctrl2_SPEC>;
9156
9157impl Hl1Ctrl2 {
9158 #[doc = "BESL & Alternate HIRDThis bit selects the K-State drive period at the time of L1 Resume."]
9159 #[inline(always)]
9160 pub fn besl(
9161 self,
9162 ) -> crate::common::RegisterFieldBool<15, 1, 0, Hl1Ctrl2_SPEC, crate::common::RW> {
9163 crate::common::RegisterFieldBool::<15,1,0,Hl1Ctrl2_SPEC,crate::common::RW>::from_register(self,0)
9164 }
9165
9166 #[doc = "LPM Token L1 RemoteWake EnableThese bits specify the value to be set in the RWE field of LPM token."]
9167 #[inline(always)]
9168 pub fn l1rwe(
9169 self,
9170 ) -> crate::common::RegisterFieldBool<12, 1, 0, Hl1Ctrl2_SPEC, crate::common::RW> {
9171 crate::common::RegisterFieldBool::<12,1,0,Hl1Ctrl2_SPEC,crate::common::RW>::from_register(self,0)
9172 }
9173
9174 #[doc = "LPM Token HIRD"]
9175 #[inline(always)]
9176 pub fn hird(
9177 self,
9178 ) -> crate::common::RegisterField<
9179 8,
9180 0xf,
9181 1,
9182 0,
9183 hl1ctrl2::Hird,
9184 hl1ctrl2::Hird,
9185 Hl1Ctrl2_SPEC,
9186 crate::common::RW,
9187 > {
9188 crate::common::RegisterField::<
9189 8,
9190 0xf,
9191 1,
9192 0,
9193 hl1ctrl2::Hird,
9194 hl1ctrl2::Hird,
9195 Hl1Ctrl2_SPEC,
9196 crate::common::RW,
9197 >::from_register(self, 0)
9198 }
9199
9200 #[doc = "LPM Token DeviceAddressThese bits specify the value to be set in the ADDR field of LPM token."]
9201 #[inline(always)]
9202 pub fn l1addr(
9203 self,
9204 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, Hl1Ctrl2_SPEC, crate::common::RW> {
9205 crate::common::RegisterField::<0,0xf,1,0,u8,u8,Hl1Ctrl2_SPEC,crate::common::RW>::from_register(self,0)
9206 }
9207}
9208impl ::core::default::Default for Hl1Ctrl2 {
9209 #[inline(always)]
9210 fn default() -> Hl1Ctrl2 {
9211 <crate::RegValueT<Hl1Ctrl2_SPEC> as RegisterValue<_>>::new(0)
9212 }
9213}
9214pub mod hl1ctrl2 {
9215
9216 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9217 pub struct Hird_SPEC;
9218 pub type Hird = crate::EnumBitfieldStruct<u8, Hird_SPEC>;
9219 impl Hird {
9220 #[doc = "50 us(Setting prohibited(BESL = 0)) / 75 us(BESL = 1)"]
9221 pub const _0000: Self = Self::new(0);
9222
9223 #[doc = "125 us(BESL = 0) / 100 us(BESL = 1)"]
9224 pub const _0001: Self = Self::new(1);
9225
9226 #[doc = "200 us(BESL = 0) / 150 us(BESL = 1)"]
9227 pub const _0010: Self = Self::new(2);
9228
9229 #[doc = "275 us(BESL = 0) / 250 us(BESL = 1)"]
9230 pub const _0011: Self = Self::new(3);
9231
9232 #[doc = "350 us(BESL = 0) / 350 us(BESL = 1)"]
9233 pub const _0100: Self = Self::new(4);
9234
9235 #[doc = "425 us(BESL = 0) / 450 us(BESL = 1)"]
9236 pub const _0101: Self = Self::new(5);
9237
9238 #[doc = "500 us(BESL = 0) / 950 us(BESL = 1)"]
9239 pub const _0110: Self = Self::new(6);
9240
9241 #[doc = "575 us(BESL = 0) / 1950 us(BESL = 1)"]
9242 pub const _0111: Self = Self::new(7);
9243
9244 #[doc = "650 us(BESL = 0) / 2950 us(BESL = 1)"]
9245 pub const _1000: Self = Self::new(8);
9246
9247 #[doc = "725 us(BESL = 0) / 3950 us(BESL = 1)"]
9248 pub const _1001: Self = Self::new(9);
9249
9250 #[doc = "800 us(BESL = 0) / 4950 us(BESL = 1)"]
9251 pub const _1010: Self = Self::new(10);
9252
9253 #[doc = "875 us(BESL = 0) / 5950 us(BESL = 1)"]
9254 pub const _1011: Self = Self::new(11);
9255
9256 #[doc = "950 us(BESL = 0) / 6950 us(BESL = 1)"]
9257 pub const _1100: Self = Self::new(12);
9258
9259 #[doc = "1025 us(Setting prohibited(BESL = 0)) / 7950 us(BESL = 1)"]
9260 pub const _1101: Self = Self::new(13);
9261
9262 #[doc = "1100 us(Setting prohibited(BESL = 0)) / 8950 us(BESL = 1)"]
9263 pub const _1110: Self = Self::new(14);
9264
9265 #[doc = "1175 us(Setting prohibited(BESL = 0)) / 9950 us(BESL = 1)"]
9266 pub const _1111: Self = Self::new(15);
9267 }
9268}
9269#[doc(hidden)]
9270#[derive(Copy, Clone, Eq, PartialEq)]
9271pub struct Dpusr0R_SPEC;
9272impl crate::sealed::RegSpec for Dpusr0R_SPEC {
9273 type DataType = u32;
9274}
9275
9276#[doc = "Deep Standby USB Transceiver Control/Pin Monitor Register"]
9277pub type Dpusr0R = crate::RegValueT<Dpusr0R_SPEC>;
9278
9279impl Dpusr0R {
9280 #[doc = "VBUS InputIndicates VBUS input signal on the HS side of USB port."]
9281 #[inline(always)]
9282 pub fn dvbstshm(
9283 self,
9284 ) -> crate::common::RegisterFieldBool<23, 1, 0, Dpusr0R_SPEC, crate::common::R> {
9285 crate::common::RegisterFieldBool::<23, 1, 0, Dpusr0R_SPEC, crate::common::R>::from_register(
9286 self, 0,
9287 )
9288 }
9289
9290 #[doc = "OVRCURB InputIndicates OVRCURB input signal on the HS side of USB port."]
9291 #[inline(always)]
9292 pub fn dovcbhm(
9293 self,
9294 ) -> crate::common::RegisterFieldBool<21, 1, 0, Dpusr0R_SPEC, crate::common::R> {
9295 crate::common::RegisterFieldBool::<21, 1, 0, Dpusr0R_SPEC, crate::common::R>::from_register(
9296 self, 0,
9297 )
9298 }
9299
9300 #[doc = "OVRCURA InputIndicates OVRCURA input signal on the HS side of USB port."]
9301 #[inline(always)]
9302 pub fn dovcahm(
9303 self,
9304 ) -> crate::common::RegisterFieldBool<20, 1, 0, Dpusr0R_SPEC, crate::common::R> {
9305 crate::common::RegisterFieldBool::<20, 1, 0, Dpusr0R_SPEC, crate::common::R>::from_register(
9306 self, 0,
9307 )
9308 }
9309}
9310impl ::core::default::Default for Dpusr0R {
9311 #[inline(always)]
9312 fn default() -> Dpusr0R {
9313 <crate::RegValueT<Dpusr0R_SPEC> as RegisterValue<_>>::new(0)
9314 }
9315}
9316
9317#[doc(hidden)]
9318#[derive(Copy, Clone, Eq, PartialEq)]
9319pub struct Dpusr1R_SPEC;
9320impl crate::sealed::RegSpec for Dpusr1R_SPEC {
9321 type DataType = u32;
9322}
9323
9324#[doc = "Deep Standby USB Suspend/Resume Interrupt Register"]
9325pub type Dpusr1R = crate::RegValueT<Dpusr1R_SPEC>;
9326
9327impl Dpusr1R {
9328 #[doc = "Indication of Return from VBUS Interrupt Source"]
9329 #[inline(always)]
9330 pub fn dvbstsh(
9331 self,
9332 ) -> crate::common::RegisterField<
9333 23,
9334 0x1,
9335 1,
9336 0,
9337 dpusr1r::Dvbstsh,
9338 dpusr1r::Dvbstsh,
9339 Dpusr1R_SPEC,
9340 crate::common::R,
9341 > {
9342 crate::common::RegisterField::<
9343 23,
9344 0x1,
9345 1,
9346 0,
9347 dpusr1r::Dvbstsh,
9348 dpusr1r::Dvbstsh,
9349 Dpusr1R_SPEC,
9350 crate::common::R,
9351 >::from_register(self, 0)
9352 }
9353
9354 #[doc = "Indication of Return from OVRCURB Interrupt Source"]
9355 #[inline(always)]
9356 pub fn dovcbh(
9357 self,
9358 ) -> crate::common::RegisterField<
9359 21,
9360 0x1,
9361 1,
9362 0,
9363 dpusr1r::Dovcbh,
9364 dpusr1r::Dovcbh,
9365 Dpusr1R_SPEC,
9366 crate::common::R,
9367 > {
9368 crate::common::RegisterField::<
9369 21,
9370 0x1,
9371 1,
9372 0,
9373 dpusr1r::Dovcbh,
9374 dpusr1r::Dovcbh,
9375 Dpusr1R_SPEC,
9376 crate::common::R,
9377 >::from_register(self, 0)
9378 }
9379
9380 #[doc = "Indication of Return from OVRCURA Interrupt Source"]
9381 #[inline(always)]
9382 pub fn dovcah(
9383 self,
9384 ) -> crate::common::RegisterField<
9385 20,
9386 0x1,
9387 1,
9388 0,
9389 dpusr1r::Dovcah,
9390 dpusr1r::Dovcah,
9391 Dpusr1R_SPEC,
9392 crate::common::R,
9393 > {
9394 crate::common::RegisterField::<
9395 20,
9396 0x1,
9397 1,
9398 0,
9399 dpusr1r::Dovcah,
9400 dpusr1r::Dovcah,
9401 Dpusr1R_SPEC,
9402 crate::common::R,
9403 >::from_register(self, 0)
9404 }
9405
9406 #[doc = "VBUS Interrupt Enable/Clear"]
9407 #[inline(always)]
9408 pub fn dvbstshe(
9409 self,
9410 ) -> crate::common::RegisterField<
9411 7,
9412 0x1,
9413 1,
9414 0,
9415 dpusr1r::Dvbstshe,
9416 dpusr1r::Dvbstshe,
9417 Dpusr1R_SPEC,
9418 crate::common::RW,
9419 > {
9420 crate::common::RegisterField::<
9421 7,
9422 0x1,
9423 1,
9424 0,
9425 dpusr1r::Dvbstshe,
9426 dpusr1r::Dvbstshe,
9427 Dpusr1R_SPEC,
9428 crate::common::RW,
9429 >::from_register(self, 0)
9430 }
9431
9432 #[doc = "OVRCURB Interrupt Enable Clear"]
9433 #[inline(always)]
9434 pub fn dovcbhe(
9435 self,
9436 ) -> crate::common::RegisterField<
9437 5,
9438 0x1,
9439 1,
9440 0,
9441 dpusr1r::Dovcbhe,
9442 dpusr1r::Dovcbhe,
9443 Dpusr1R_SPEC,
9444 crate::common::RW,
9445 > {
9446 crate::common::RegisterField::<
9447 5,
9448 0x1,
9449 1,
9450 0,
9451 dpusr1r::Dovcbhe,
9452 dpusr1r::Dovcbhe,
9453 Dpusr1R_SPEC,
9454 crate::common::RW,
9455 >::from_register(self, 0)
9456 }
9457
9458 #[doc = "OVRCURA Interrupt Enable Clear"]
9459 #[inline(always)]
9460 pub fn dovcahe(
9461 self,
9462 ) -> crate::common::RegisterField<
9463 4,
9464 0x1,
9465 1,
9466 0,
9467 dpusr1r::Dovcahe,
9468 dpusr1r::Dovcahe,
9469 Dpusr1R_SPEC,
9470 crate::common::RW,
9471 > {
9472 crate::common::RegisterField::<
9473 4,
9474 0x1,
9475 1,
9476 0,
9477 dpusr1r::Dovcahe,
9478 dpusr1r::Dovcahe,
9479 Dpusr1R_SPEC,
9480 crate::common::RW,
9481 >::from_register(self, 0)
9482 }
9483}
9484impl ::core::default::Default for Dpusr1R {
9485 #[inline(always)]
9486 fn default() -> Dpusr1R {
9487 <crate::RegValueT<Dpusr1R_SPEC> as RegisterValue<_>>::new(0)
9488 }
9489}
9490pub mod dpusr1r {
9491
9492 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9493 pub struct Dvbstsh_SPEC;
9494 pub type Dvbstsh = crate::EnumBitfieldStruct<u8, Dvbstsh_SPEC>;
9495 impl Dvbstsh {
9496 #[doc = "Indicates deep software standby mode"]
9497 pub const _0: Self = Self::new(0);
9498
9499 #[doc = "Indicates return from deep software standby mode"]
9500 pub const _1: Self = Self::new(1);
9501 }
9502 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9503 pub struct Dovcbh_SPEC;
9504 pub type Dovcbh = crate::EnumBitfieldStruct<u8, Dovcbh_SPEC>;
9505 impl Dovcbh {
9506 #[doc = "Indicates deep software standby mode"]
9507 pub const _0: Self = Self::new(0);
9508
9509 #[doc = "Indicates return from deep software standby mode"]
9510 pub const _1: Self = Self::new(1);
9511 }
9512 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9513 pub struct Dovcah_SPEC;
9514 pub type Dovcah = crate::EnumBitfieldStruct<u8, Dovcah_SPEC>;
9515 impl Dovcah {
9516 #[doc = "Indicates deep software standby mode"]
9517 pub const _0: Self = Self::new(0);
9518
9519 #[doc = "Indicates return from deep software standby mode"]
9520 pub const _1: Self = Self::new(1);
9521 }
9522 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9523 pub struct Dvbstshe_SPEC;
9524 pub type Dvbstshe = crate::EnumBitfieldStruct<u8, Dvbstshe_SPEC>;
9525 impl Dvbstshe {
9526 #[doc = "Disables return from deep software standby mode"]
9527 pub const _0: Self = Self::new(0);
9528
9529 #[doc = "Enables return from deep software standby mode"]
9530 pub const _1: Self = Self::new(1);
9531 }
9532 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9533 pub struct Dovcbhe_SPEC;
9534 pub type Dovcbhe = crate::EnumBitfieldStruct<u8, Dovcbhe_SPEC>;
9535 impl Dovcbhe {
9536 #[doc = "Disables return from deep software standby mode"]
9537 pub const _0: Self = Self::new(0);
9538
9539 #[doc = "Enables return from deep software standby mode"]
9540 pub const _1: Self = Self::new(1);
9541 }
9542 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9543 pub struct Dovcahe_SPEC;
9544 pub type Dovcahe = crate::EnumBitfieldStruct<u8, Dovcahe_SPEC>;
9545 impl Dovcahe {
9546 #[doc = "Disables return from deep software standby mode"]
9547 pub const _0: Self = Self::new(0);
9548
9549 #[doc = "Enables return from deep software standby mode"]
9550 pub const _1: Self = Self::new(1);
9551 }
9552}
9553#[doc(hidden)]
9554#[derive(Copy, Clone, Eq, PartialEq)]
9555pub struct Dpusr2R_SPEC;
9556impl crate::sealed::RegSpec for Dpusr2R_SPEC {
9557 type DataType = u16;
9558}
9559
9560#[doc = "Deep Standby USB Suspend/Resume Interrupt Register"]
9561pub type Dpusr2R = crate::RegValueT<Dpusr2R_SPEC>;
9562
9563impl Dpusr2R {
9564 #[doc = "DM Interrupt Enable Clear"]
9565 #[inline(always)]
9566 pub fn dminte(
9567 self,
9568 ) -> crate::common::RegisterField<
9569 9,
9570 0x1,
9571 1,
9572 0,
9573 dpusr2r::Dminte,
9574 dpusr2r::Dminte,
9575 Dpusr2R_SPEC,
9576 crate::common::RW,
9577 > {
9578 crate::common::RegisterField::<
9579 9,
9580 0x1,
9581 1,
9582 0,
9583 dpusr2r::Dminte,
9584 dpusr2r::Dminte,
9585 Dpusr2R_SPEC,
9586 crate::common::RW,
9587 >::from_register(self, 0)
9588 }
9589
9590 #[doc = "DP Interrupt Enable Clear"]
9591 #[inline(always)]
9592 pub fn dpinte(
9593 self,
9594 ) -> crate::common::RegisterField<
9595 8,
9596 0x1,
9597 1,
9598 0,
9599 dpusr2r::Dpinte,
9600 dpusr2r::Dpinte,
9601 Dpusr2R_SPEC,
9602 crate::common::RW,
9603 > {
9604 crate::common::RegisterField::<
9605 8,
9606 0x1,
9607 1,
9608 0,
9609 dpusr2r::Dpinte,
9610 dpusr2r::Dpinte,
9611 Dpusr2R_SPEC,
9612 crate::common::RW,
9613 >::from_register(self, 0)
9614 }
9615
9616 #[doc = "DM InputIndicates DM input signal on the HS side of USB port."]
9617 #[inline(always)]
9618 pub fn dmval(
9619 self,
9620 ) -> crate::common::RegisterFieldBool<5, 1, 0, Dpusr2R_SPEC, crate::common::R> {
9621 crate::common::RegisterFieldBool::<5, 1, 0, Dpusr2R_SPEC, crate::common::R>::from_register(
9622 self, 0,
9623 )
9624 }
9625
9626 #[doc = "DP InputIndicates DP input signal on the HS side of USB port."]
9627 #[inline(always)]
9628 pub fn dpval(
9629 self,
9630 ) -> crate::common::RegisterFieldBool<4, 1, 0, Dpusr2R_SPEC, crate::common::R> {
9631 crate::common::RegisterFieldBool::<4, 1, 0, Dpusr2R_SPEC, crate::common::R>::from_register(
9632 self, 0,
9633 )
9634 }
9635
9636 #[doc = "Indication of Return from DM Interrupt Source"]
9637 #[inline(always)]
9638 pub fn dmint(
9639 self,
9640 ) -> crate::common::RegisterField<
9641 1,
9642 0x1,
9643 1,
9644 0,
9645 dpusr2r::Dmint,
9646 dpusr2r::Dmint,
9647 Dpusr2R_SPEC,
9648 crate::common::R,
9649 > {
9650 crate::common::RegisterField::<
9651 1,
9652 0x1,
9653 1,
9654 0,
9655 dpusr2r::Dmint,
9656 dpusr2r::Dmint,
9657 Dpusr2R_SPEC,
9658 crate::common::R,
9659 >::from_register(self, 0)
9660 }
9661
9662 #[doc = "Indication of Return from DP Interrupt Source"]
9663 #[inline(always)]
9664 pub fn dpint(
9665 self,
9666 ) -> crate::common::RegisterField<
9667 0,
9668 0x1,
9669 1,
9670 0,
9671 dpusr2r::Dpint,
9672 dpusr2r::Dpint,
9673 Dpusr2R_SPEC,
9674 crate::common::R,
9675 > {
9676 crate::common::RegisterField::<
9677 0,
9678 0x1,
9679 1,
9680 0,
9681 dpusr2r::Dpint,
9682 dpusr2r::Dpint,
9683 Dpusr2R_SPEC,
9684 crate::common::R,
9685 >::from_register(self, 0)
9686 }
9687}
9688impl ::core::default::Default for Dpusr2R {
9689 #[inline(always)]
9690 fn default() -> Dpusr2R {
9691 <crate::RegValueT<Dpusr2R_SPEC> as RegisterValue<_>>::new(0)
9692 }
9693}
9694pub mod dpusr2r {
9695
9696 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9697 pub struct Dminte_SPEC;
9698 pub type Dminte = crate::EnumBitfieldStruct<u8, Dminte_SPEC>;
9699 impl Dminte {
9700 #[doc = "Disables return from deep software standby mode"]
9701 pub const _0: Self = Self::new(0);
9702
9703 #[doc = "Enables return from deep software standby mode"]
9704 pub const _1: Self = Self::new(1);
9705 }
9706 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9707 pub struct Dpinte_SPEC;
9708 pub type Dpinte = crate::EnumBitfieldStruct<u8, Dpinte_SPEC>;
9709 impl Dpinte {
9710 #[doc = "Disables return from deep software standby mode"]
9711 pub const _0: Self = Self::new(0);
9712
9713 #[doc = "Enables return from deep software standby mode"]
9714 pub const _1: Self = Self::new(1);
9715 }
9716 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9717 pub struct Dmint_SPEC;
9718 pub type Dmint = crate::EnumBitfieldStruct<u8, Dmint_SPEC>;
9719 impl Dmint {
9720 #[doc = "Indicates deep software standby mode"]
9721 pub const _0: Self = Self::new(0);
9722
9723 #[doc = "Indicates return from deep software standby mode"]
9724 pub const _1: Self = Self::new(1);
9725 }
9726 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9727 pub struct Dpint_SPEC;
9728 pub type Dpint = crate::EnumBitfieldStruct<u8, Dpint_SPEC>;
9729 impl Dpint {
9730 #[doc = "Indicates deep software standby mode"]
9731 pub const _0: Self = Self::new(0);
9732
9733 #[doc = "Indicates return from deep software standby mode"]
9734 pub const _1: Self = Self::new(1);
9735 }
9736}
9737#[doc(hidden)]
9738#[derive(Copy, Clone, Eq, PartialEq)]
9739pub struct Dpusrcr_SPEC;
9740impl crate::sealed::RegSpec for Dpusrcr_SPEC {
9741 type DataType = u16;
9742}
9743
9744#[doc = "Deep Standby USB Suspend/Resume Command Register"]
9745pub type Dpusrcr = crate::RegValueT<Dpusrcr_SPEC>;
9746
9747impl Dpusrcr {
9748 #[doc = "USB Transceiver Control Fix for PLL"]
9749 #[inline(always)]
9750 pub fn fixphypd(
9751 self,
9752 ) -> crate::common::RegisterField<
9753 1,
9754 0x1,
9755 1,
9756 0,
9757 dpusrcr::Fixphypd,
9758 dpusrcr::Fixphypd,
9759 Dpusrcr_SPEC,
9760 crate::common::RW,
9761 > {
9762 crate::common::RegisterField::<
9763 1,
9764 0x1,
9765 1,
9766 0,
9767 dpusrcr::Fixphypd,
9768 dpusrcr::Fixphypd,
9769 Dpusrcr_SPEC,
9770 crate::common::RW,
9771 >::from_register(self, 0)
9772 }
9773
9774 #[doc = "USB Transceiver Control Fix"]
9775 #[inline(always)]
9776 pub fn fixphy(
9777 self,
9778 ) -> crate::common::RegisterField<
9779 0,
9780 0x1,
9781 1,
9782 0,
9783 dpusrcr::Fixphy,
9784 dpusrcr::Fixphy,
9785 Dpusrcr_SPEC,
9786 crate::common::RW,
9787 > {
9788 crate::common::RegisterField::<
9789 0,
9790 0x1,
9791 1,
9792 0,
9793 dpusrcr::Fixphy,
9794 dpusrcr::Fixphy,
9795 Dpusrcr_SPEC,
9796 crate::common::RW,
9797 >::from_register(self, 0)
9798 }
9799}
9800impl ::core::default::Default for Dpusrcr {
9801 #[inline(always)]
9802 fn default() -> Dpusrcr {
9803 <crate::RegValueT<Dpusrcr_SPEC> as RegisterValue<_>>::new(0)
9804 }
9805}
9806pub mod dpusrcr {
9807
9808 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9809 pub struct Fixphypd_SPEC;
9810 pub type Fixphypd = crate::EnumBitfieldStruct<u8, Fixphypd_SPEC>;
9811 impl Fixphypd {
9812 #[doc = "Normal mode"]
9813 pub const _0: Self = Self::new(0);
9814
9815 #[doc = "Go to/Return from deep software standby mode"]
9816 pub const _1: Self = Self::new(1);
9817 }
9818 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
9819 pub struct Fixphy_SPEC;
9820 pub type Fixphy = crate::EnumBitfieldStruct<u8, Fixphy_SPEC>;
9821 impl Fixphy {
9822 #[doc = "Normal mode"]
9823 pub const _0: Self = Self::new(0);
9824
9825 #[doc = "Go to/Return from deep software standby mode"]
9826 pub const _1: Self = Self::new(1);
9827 }
9828}