1#[doc = "USBPHY Register Reference Index"]
2#[repr(C)]
3pub struct RegisterBlock {
4#[doc = "USB PHY Power-Down Register"]
5pub PWD: crate::RWRegister<u32>,
6#[doc = "USB PHY Power-Down Register"]
7pub PWD_SET: crate::RWRegister<u32>,
8#[doc = "USB PHY Power-Down Register"]
9pub PWD_CLR: crate::RWRegister<u32>,
10#[doc = "USB PHY Power-Down Register"]
11pub PWD_TOG: crate::RWRegister<u32>,
12#[doc = "USB PHY Transmitter Control Register"]
13pub TX: crate::RWRegister<u32>,
14#[doc = "USB PHY Transmitter Control Register"]
15pub TX_SET: crate::RWRegister<u32>,
16#[doc = "USB PHY Transmitter Control Register"]
17pub TX_CLR: crate::RWRegister<u32>,
18#[doc = "USB PHY Transmitter Control Register"]
19pub TX_TOG: crate::RWRegister<u32>,
20#[doc = "USB PHY Receiver Control Register"]
21pub RX: crate::RWRegister<u32>,
22#[doc = "USB PHY Receiver Control Register"]
23pub RX_SET: crate::RWRegister<u32>,
24#[doc = "USB PHY Receiver Control Register"]
25pub RX_CLR: crate::RWRegister<u32>,
26#[doc = "USB PHY Receiver Control Register"]
27pub RX_TOG: crate::RWRegister<u32>,
28#[doc = "USB PHY General Control Register"]
29pub CTRL: crate::RWRegister<u32>,
30#[doc = "USB PHY General Control Register"]
31pub CTRL_SET: crate::RWRegister<u32>,
32#[doc = "USB PHY General Control Register"]
33pub CTRL_CLR: crate::RWRegister<u32>,
34#[doc = "USB PHY General Control Register"]
35pub CTRL_TOG: crate::RWRegister<u32>,
36#[doc = "USB PHY Status Register"]
37pub STATUS: crate::RWRegister<u32>,
38 _reserved0: [u8; 0x0c],
39#[doc = "USB PHY Debug Register"]
40pub DEBUG: crate::RWRegister<u32>,
41#[doc = "USB PHY Debug Register"]
42pub DEBUG_SET: crate::RWRegister<u32>,
43#[doc = "USB PHY Debug Register"]
44pub DEBUG_CLR: crate::RWRegister<u32>,
45#[doc = "USB PHY Debug Register"]
46pub DEBUG_TOG: crate::RWRegister<u32>,
47#[doc = "UTMI Debug Status Register 0"]
48pub DEBUG0_STATUS: crate::RORegister<u32>,
49 _reserved1: [u8; 0x0c],
50#[doc = "UTMI Debug Status Register 1"]
51pub DEBUG1: crate::RWRegister<u32>,
52#[doc = "UTMI Debug Status Register 1"]
53pub DEBUG1_SET: crate::RWRegister<u32>,
54#[doc = "UTMI Debug Status Register 1"]
55pub DEBUG1_CLR: crate::RWRegister<u32>,
56#[doc = "UTMI Debug Status Register 1"]
57pub DEBUG1_TOG: crate::RWRegister<u32>,
58#[doc = "UTMI RTL Version"]
59pub VERSION: crate::RORegister<u32>,
60}
61#[doc = "USB PHY Power-Down Register"]
62pub mod PWD {
63#[doc = "Reserved."]
64pub mod RSVD0 {
65pub const offset: u32 = 0;
66pub const mask: u32 = 0x03ff << offset;
67pub mod R {}
68pub mod W {}
69pub mod RW {}
70 }
71#[doc = "0 = Normal operation"]
72pub mod TXPWDFS {
73pub const offset: u32 = 10;
74pub const mask: u32 = 0x01 << offset;
75pub mod R {}
76pub mod W {}
77pub mod RW {}
78 }
79#[doc = "0 = Normal operation"]
80pub mod TXPWDIBIAS {
81pub const offset: u32 = 11;
82pub const mask: u32 = 0x01 << offset;
83pub mod R {}
84pub mod W {}
85pub mod RW {}
86 }
87#[doc = "0 = Normal operation"]
88pub mod TXPWDV2I {
89pub const offset: u32 = 12;
90pub const mask: u32 = 0x01 << offset;
91pub mod R {}
92pub mod W {}
93pub mod RW {}
94 }
95#[doc = "Reserved."]
96pub mod RSVD1 {
97pub const offset: u32 = 13;
98pub const mask: u32 = 0x0f << offset;
99pub mod R {}
100pub mod W {}
101pub mod RW {}
102 }
103#[doc = "0 = Normal operation"]
104pub mod RXPWDENV {
105pub const offset: u32 = 17;
106pub const mask: u32 = 0x01 << offset;
107pub mod R {}
108pub mod W {}
109pub mod RW {}
110 }
111#[doc = "0 = Normal operation"]
112pub mod RXPWD1PT1 {
113pub const offset: u32 = 18;
114pub const mask: u32 = 0x01 << offset;
115pub mod R {}
116pub mod W {}
117pub mod RW {}
118 }
119#[doc = "0 = Normal operation"]
120pub mod RXPWDDIFF {
121pub const offset: u32 = 19;
122pub const mask: u32 = 0x01 << offset;
123pub mod R {}
124pub mod W {}
125pub mod RW {}
126 }
127#[doc = "0 = Normal operation"]
128pub mod RXPWDRX {
129pub const offset: u32 = 20;
130pub const mask: u32 = 0x01 << offset;
131pub mod R {}
132pub mod W {}
133pub mod RW {}
134 }
135#[doc = "Reserved."]
136pub mod RSVD2 {
137pub const offset: u32 = 21;
138pub const mask: u32 = 0x07ff << offset;
139pub mod R {}
140pub mod W {}
141pub mod RW {}
142 }
143}
144#[doc = "USB PHY Power-Down Register"]
145pub mod PWD_SET {
146#[doc = "Reserved."]
147pub mod RSVD0 {
148pub const offset: u32 = 0;
149pub const mask: u32 = 0x03ff << offset;
150pub mod R {}
151pub mod W {}
152pub mod RW {}
153 }
154#[doc = "0 = Normal operation"]
155pub mod TXPWDFS {
156pub const offset: u32 = 10;
157pub const mask: u32 = 0x01 << offset;
158pub mod R {}
159pub mod W {}
160pub mod RW {}
161 }
162#[doc = "0 = Normal operation"]
163pub mod TXPWDIBIAS {
164pub const offset: u32 = 11;
165pub const mask: u32 = 0x01 << offset;
166pub mod R {}
167pub mod W {}
168pub mod RW {}
169 }
170#[doc = "0 = Normal operation"]
171pub mod TXPWDV2I {
172pub const offset: u32 = 12;
173pub const mask: u32 = 0x01 << offset;
174pub mod R {}
175pub mod W {}
176pub mod RW {}
177 }
178#[doc = "Reserved."]
179pub mod RSVD1 {
180pub const offset: u32 = 13;
181pub const mask: u32 = 0x0f << offset;
182pub mod R {}
183pub mod W {}
184pub mod RW {}
185 }
186#[doc = "0 = Normal operation"]
187pub mod RXPWDENV {
188pub const offset: u32 = 17;
189pub const mask: u32 = 0x01 << offset;
190pub mod R {}
191pub mod W {}
192pub mod RW {}
193 }
194#[doc = "0 = Normal operation"]
195pub mod RXPWD1PT1 {
196pub const offset: u32 = 18;
197pub const mask: u32 = 0x01 << offset;
198pub mod R {}
199pub mod W {}
200pub mod RW {}
201 }
202#[doc = "0 = Normal operation"]
203pub mod RXPWDDIFF {
204pub const offset: u32 = 19;
205pub const mask: u32 = 0x01 << offset;
206pub mod R {}
207pub mod W {}
208pub mod RW {}
209 }
210#[doc = "0 = Normal operation"]
211pub mod RXPWDRX {
212pub const offset: u32 = 20;
213pub const mask: u32 = 0x01 << offset;
214pub mod R {}
215pub mod W {}
216pub mod RW {}
217 }
218#[doc = "Reserved."]
219pub mod RSVD2 {
220pub const offset: u32 = 21;
221pub const mask: u32 = 0x07ff << offset;
222pub mod R {}
223pub mod W {}
224pub mod RW {}
225 }
226}
227#[doc = "USB PHY Power-Down Register"]
228pub mod PWD_CLR {
229#[doc = "Reserved."]
230pub mod RSVD0 {
231pub const offset: u32 = 0;
232pub const mask: u32 = 0x03ff << offset;
233pub mod R {}
234pub mod W {}
235pub mod RW {}
236 }
237#[doc = "0 = Normal operation"]
238pub mod TXPWDFS {
239pub const offset: u32 = 10;
240pub const mask: u32 = 0x01 << offset;
241pub mod R {}
242pub mod W {}
243pub mod RW {}
244 }
245#[doc = "0 = Normal operation"]
246pub mod TXPWDIBIAS {
247pub const offset: u32 = 11;
248pub const mask: u32 = 0x01 << offset;
249pub mod R {}
250pub mod W {}
251pub mod RW {}
252 }
253#[doc = "0 = Normal operation"]
254pub mod TXPWDV2I {
255pub const offset: u32 = 12;
256pub const mask: u32 = 0x01 << offset;
257pub mod R {}
258pub mod W {}
259pub mod RW {}
260 }
261#[doc = "Reserved."]
262pub mod RSVD1 {
263pub const offset: u32 = 13;
264pub const mask: u32 = 0x0f << offset;
265pub mod R {}
266pub mod W {}
267pub mod RW {}
268 }
269#[doc = "0 = Normal operation"]
270pub mod RXPWDENV {
271pub const offset: u32 = 17;
272pub const mask: u32 = 0x01 << offset;
273pub mod R {}
274pub mod W {}
275pub mod RW {}
276 }
277#[doc = "0 = Normal operation"]
278pub mod RXPWD1PT1 {
279pub const offset: u32 = 18;
280pub const mask: u32 = 0x01 << offset;
281pub mod R {}
282pub mod W {}
283pub mod RW {}
284 }
285#[doc = "0 = Normal operation"]
286pub mod RXPWDDIFF {
287pub const offset: u32 = 19;
288pub const mask: u32 = 0x01 << offset;
289pub mod R {}
290pub mod W {}
291pub mod RW {}
292 }
293#[doc = "0 = Normal operation"]
294pub mod RXPWDRX {
295pub const offset: u32 = 20;
296pub const mask: u32 = 0x01 << offset;
297pub mod R {}
298pub mod W {}
299pub mod RW {}
300 }
301#[doc = "Reserved."]
302pub mod RSVD2 {
303pub const offset: u32 = 21;
304pub const mask: u32 = 0x07ff << offset;
305pub mod R {}
306pub mod W {}
307pub mod RW {}
308 }
309}
310#[doc = "USB PHY Power-Down Register"]
311pub mod PWD_TOG {
312#[doc = "Reserved."]
313pub mod RSVD0 {
314pub const offset: u32 = 0;
315pub const mask: u32 = 0x03ff << offset;
316pub mod R {}
317pub mod W {}
318pub mod RW {}
319 }
320#[doc = "0 = Normal operation"]
321pub mod TXPWDFS {
322pub const offset: u32 = 10;
323pub const mask: u32 = 0x01 << offset;
324pub mod R {}
325pub mod W {}
326pub mod RW {}
327 }
328#[doc = "0 = Normal operation"]
329pub mod TXPWDIBIAS {
330pub const offset: u32 = 11;
331pub const mask: u32 = 0x01 << offset;
332pub mod R {}
333pub mod W {}
334pub mod RW {}
335 }
336#[doc = "0 = Normal operation"]
337pub mod TXPWDV2I {
338pub const offset: u32 = 12;
339pub const mask: u32 = 0x01 << offset;
340pub mod R {}
341pub mod W {}
342pub mod RW {}
343 }
344#[doc = "Reserved."]
345pub mod RSVD1 {
346pub const offset: u32 = 13;
347pub const mask: u32 = 0x0f << offset;
348pub mod R {}
349pub mod W {}
350pub mod RW {}
351 }
352#[doc = "0 = Normal operation"]
353pub mod RXPWDENV {
354pub const offset: u32 = 17;
355pub const mask: u32 = 0x01 << offset;
356pub mod R {}
357pub mod W {}
358pub mod RW {}
359 }
360#[doc = "0 = Normal operation"]
361pub mod RXPWD1PT1 {
362pub const offset: u32 = 18;
363pub const mask: u32 = 0x01 << offset;
364pub mod R {}
365pub mod W {}
366pub mod RW {}
367 }
368#[doc = "0 = Normal operation"]
369pub mod RXPWDDIFF {
370pub const offset: u32 = 19;
371pub const mask: u32 = 0x01 << offset;
372pub mod R {}
373pub mod W {}
374pub mod RW {}
375 }
376#[doc = "0 = Normal operation"]
377pub mod RXPWDRX {
378pub const offset: u32 = 20;
379pub const mask: u32 = 0x01 << offset;
380pub mod R {}
381pub mod W {}
382pub mod RW {}
383 }
384#[doc = "Reserved."]
385pub mod RSVD2 {
386pub const offset: u32 = 21;
387pub const mask: u32 = 0x07ff << offset;
388pub mod R {}
389pub mod W {}
390pub mod RW {}
391 }
392}
393#[doc = "USB PHY Transmitter Control Register"]
394pub mod TX {
395#[doc = "Resistor Trimming Code: 0000 = 0.16% 0111 = Nominal 1111 = +25%"]
396pub mod D_CAL {
397pub const offset: u32 = 0;
398pub const mask: u32 = 0x0f << offset;
399pub mod R {}
400pub mod W {}
401pub mod RW {}
402 }
403#[doc = "Reserved. Note: This bit should remain clear."]
404pub mod RSVD0 {
405pub const offset: u32 = 4;
406pub const mask: u32 = 0x0f << offset;
407pub mod R {}
408pub mod W {}
409pub mod RW {}
410 }
411#[doc = "Decode to select a 45-Ohm resistance to the USB_DN output pin"]
412pub mod TXCAL45DN {
413pub const offset: u32 = 8;
414pub const mask: u32 = 0x0f << offset;
415pub mod R {}
416pub mod W {}
417pub mod RW {}
418 }
419#[doc = "Reserved. Note: This bit should remain clear."]
420pub mod RSVD1 {
421pub const offset: u32 = 12;
422pub const mask: u32 = 0x0f << offset;
423pub mod R {}
424pub mod W {}
425pub mod RW {}
426 }
427#[doc = "Decode to select a 45-Ohm resistance to the USB_DP output pin"]
428pub mod TXCAL45DP {
429pub const offset: u32 = 16;
430pub const mask: u32 = 0x0f << offset;
431pub mod R {}
432pub mod W {}
433pub mod RW {}
434 }
435#[doc = "Reserved."]
436pub mod RSVD2 {
437pub const offset: u32 = 20;
438pub const mask: u32 = 0x3f << offset;
439pub mod R {}
440pub mod W {}
441pub mod RW {}
442 }
443#[doc = "Controls the edge-rate of the current sensing transistors used in HS transmit"]
444pub mod USBPHY_TX_EDGECTRL {
445pub const offset: u32 = 26;
446pub const mask: u32 = 0x07 << offset;
447pub mod R {}
448pub mod W {}
449pub mod RW {}
450 }
451#[doc = "Reserved."]
452pub mod RSVD5 {
453pub const offset: u32 = 29;
454pub const mask: u32 = 0x07 << offset;
455pub mod R {}
456pub mod W {}
457pub mod RW {}
458 }
459}
460#[doc = "USB PHY Transmitter Control Register"]
461pub mod TX_SET {
462#[doc = "Resistor Trimming Code: 0000 = 0.16% 0111 = Nominal 1111 = +25%"]
463pub mod D_CAL {
464pub const offset: u32 = 0;
465pub const mask: u32 = 0x0f << offset;
466pub mod R {}
467pub mod W {}
468pub mod RW {}
469 }
470#[doc = "Reserved. Note: This bit should remain clear."]
471pub mod RSVD0 {
472pub const offset: u32 = 4;
473pub const mask: u32 = 0x0f << offset;
474pub mod R {}
475pub mod W {}
476pub mod RW {}
477 }
478#[doc = "Decode to select a 45-Ohm resistance to the USB_DN output pin"]
479pub mod TXCAL45DN {
480pub const offset: u32 = 8;
481pub const mask: u32 = 0x0f << offset;
482pub mod R {}
483pub mod W {}
484pub mod RW {}
485 }
486#[doc = "Reserved. Note: This bit should remain clear."]
487pub mod RSVD1 {
488pub const offset: u32 = 12;
489pub const mask: u32 = 0x0f << offset;
490pub mod R {}
491pub mod W {}
492pub mod RW {}
493 }
494#[doc = "Decode to select a 45-Ohm resistance to the USB_DP output pin"]
495pub mod TXCAL45DP {
496pub const offset: u32 = 16;
497pub const mask: u32 = 0x0f << offset;
498pub mod R {}
499pub mod W {}
500pub mod RW {}
501 }
502#[doc = "Reserved."]
503pub mod RSVD2 {
504pub const offset: u32 = 20;
505pub const mask: u32 = 0x3f << offset;
506pub mod R {}
507pub mod W {}
508pub mod RW {}
509 }
510#[doc = "Controls the edge-rate of the current sensing transistors used in HS transmit"]
511pub mod USBPHY_TX_EDGECTRL {
512pub const offset: u32 = 26;
513pub const mask: u32 = 0x07 << offset;
514pub mod R {}
515pub mod W {}
516pub mod RW {}
517 }
518#[doc = "Reserved."]
519pub mod RSVD5 {
520pub const offset: u32 = 29;
521pub const mask: u32 = 0x07 << offset;
522pub mod R {}
523pub mod W {}
524pub mod RW {}
525 }
526}
527#[doc = "USB PHY Transmitter Control Register"]
528pub mod TX_CLR {
529#[doc = "Resistor Trimming Code: 0000 = 0.16% 0111 = Nominal 1111 = +25%"]
530pub mod D_CAL {
531pub const offset: u32 = 0;
532pub const mask: u32 = 0x0f << offset;
533pub mod R {}
534pub mod W {}
535pub mod RW {}
536 }
537#[doc = "Reserved. Note: This bit should remain clear."]
538pub mod RSVD0 {
539pub const offset: u32 = 4;
540pub const mask: u32 = 0x0f << offset;
541pub mod R {}
542pub mod W {}
543pub mod RW {}
544 }
545#[doc = "Decode to select a 45-Ohm resistance to the USB_DN output pin"]
546pub mod TXCAL45DN {
547pub const offset: u32 = 8;
548pub const mask: u32 = 0x0f << offset;
549pub mod R {}
550pub mod W {}
551pub mod RW {}
552 }
553#[doc = "Reserved. Note: This bit should remain clear."]
554pub mod RSVD1 {
555pub const offset: u32 = 12;
556pub const mask: u32 = 0x0f << offset;
557pub mod R {}
558pub mod W {}
559pub mod RW {}
560 }
561#[doc = "Decode to select a 45-Ohm resistance to the USB_DP output pin"]
562pub mod TXCAL45DP {
563pub const offset: u32 = 16;
564pub const mask: u32 = 0x0f << offset;
565pub mod R {}
566pub mod W {}
567pub mod RW {}
568 }
569#[doc = "Reserved."]
570pub mod RSVD2 {
571pub const offset: u32 = 20;
572pub const mask: u32 = 0x3f << offset;
573pub mod R {}
574pub mod W {}
575pub mod RW {}
576 }
577#[doc = "Controls the edge-rate of the current sensing transistors used in HS transmit"]
578pub mod USBPHY_TX_EDGECTRL {
579pub const offset: u32 = 26;
580pub const mask: u32 = 0x07 << offset;
581pub mod R {}
582pub mod W {}
583pub mod RW {}
584 }
585#[doc = "Reserved."]
586pub mod RSVD5 {
587pub const offset: u32 = 29;
588pub const mask: u32 = 0x07 << offset;
589pub mod R {}
590pub mod W {}
591pub mod RW {}
592 }
593}
594#[doc = "USB PHY Transmitter Control Register"]
595pub mod TX_TOG {
596#[doc = "Resistor Trimming Code: 0000 = 0.16% 0111 = Nominal 1111 = +25%"]
597pub mod D_CAL {
598pub const offset: u32 = 0;
599pub const mask: u32 = 0x0f << offset;
600pub mod R {}
601pub mod W {}
602pub mod RW {}
603 }
604#[doc = "Reserved. Note: This bit should remain clear."]
605pub mod RSVD0 {
606pub const offset: u32 = 4;
607pub const mask: u32 = 0x0f << offset;
608pub mod R {}
609pub mod W {}
610pub mod RW {}
611 }
612#[doc = "Decode to select a 45-Ohm resistance to the USB_DN output pin"]
613pub mod TXCAL45DN {
614pub const offset: u32 = 8;
615pub const mask: u32 = 0x0f << offset;
616pub mod R {}
617pub mod W {}
618pub mod RW {}
619 }
620#[doc = "Reserved. Note: This bit should remain clear."]
621pub mod RSVD1 {
622pub const offset: u32 = 12;
623pub const mask: u32 = 0x0f << offset;
624pub mod R {}
625pub mod W {}
626pub mod RW {}
627 }
628#[doc = "Decode to select a 45-Ohm resistance to the USB_DP output pin"]
629pub mod TXCAL45DP {
630pub const offset: u32 = 16;
631pub const mask: u32 = 0x0f << offset;
632pub mod R {}
633pub mod W {}
634pub mod RW {}
635 }
636#[doc = "Reserved."]
637pub mod RSVD2 {
638pub const offset: u32 = 20;
639pub const mask: u32 = 0x3f << offset;
640pub mod R {}
641pub mod W {}
642pub mod RW {}
643 }
644#[doc = "Controls the edge-rate of the current sensing transistors used in HS transmit"]
645pub mod USBPHY_TX_EDGECTRL {
646pub const offset: u32 = 26;
647pub const mask: u32 = 0x07 << offset;
648pub mod R {}
649pub mod W {}
650pub mod RW {}
651 }
652#[doc = "Reserved."]
653pub mod RSVD5 {
654pub const offset: u32 = 29;
655pub const mask: u32 = 0x07 << offset;
656pub mod R {}
657pub mod W {}
658pub mod RW {}
659 }
660}
661#[doc = "USB PHY Receiver Control Register"]
662pub mod RX {
663#[doc = "The ENVADJ field adjusts the trip point for the envelope detector"]
664pub mod ENVADJ {
665pub const offset: u32 = 0;
666pub const mask: u32 = 0x07 << offset;
667pub mod R {}
668pub mod W {}
669pub mod RW {}
670 }
671#[doc = "Reserved."]
672pub mod RSVD0 {
673pub const offset: u32 = 3;
674pub const mask: u32 = 0x01 << offset;
675pub mod R {}
676pub mod W {}
677pub mod RW {}
678 }
679#[doc = "The DISCONADJ field adjusts the trip point for the disconnect detector: 000 = Trip-Level Voltage is 0"]
680pub mod DISCONADJ {
681pub const offset: u32 = 4;
682pub const mask: u32 = 0x07 << offset;
683pub mod R {}
684pub mod W {}
685pub mod RW {}
686 }
687#[doc = "Reserved."]
688pub mod RSVD1 {
689pub const offset: u32 = 7;
690pub const mask: u32 = 0x7fff << offset;
691pub mod R {}
692pub mod W {}
693pub mod RW {}
694 }
695#[doc = "0 = Normal operation"]
696pub mod RXDBYPASS {
697pub const offset: u32 = 22;
698pub const mask: u32 = 0x01 << offset;
699pub mod R {}
700pub mod W {}
701pub mod RW {}
702 }
703#[doc = "Reserved."]
704pub mod RSVD2 {
705pub const offset: u32 = 23;
706pub const mask: u32 = 0x01ff << offset;
707pub mod R {}
708pub mod W {}
709pub mod RW {}
710 }
711}
712#[doc = "USB PHY Receiver Control Register"]
713pub mod RX_SET {
714#[doc = "The ENVADJ field adjusts the trip point for the envelope detector"]
715pub mod ENVADJ {
716pub const offset: u32 = 0;
717pub const mask: u32 = 0x07 << offset;
718pub mod R {}
719pub mod W {}
720pub mod RW {}
721 }
722#[doc = "Reserved."]
723pub mod RSVD0 {
724pub const offset: u32 = 3;
725pub const mask: u32 = 0x01 << offset;
726pub mod R {}
727pub mod W {}
728pub mod RW {}
729 }
730#[doc = "The DISCONADJ field adjusts the trip point for the disconnect detector: 000 = Trip-Level Voltage is 0"]
731pub mod DISCONADJ {
732pub const offset: u32 = 4;
733pub const mask: u32 = 0x07 << offset;
734pub mod R {}
735pub mod W {}
736pub mod RW {}
737 }
738#[doc = "Reserved."]
739pub mod RSVD1 {
740pub const offset: u32 = 7;
741pub const mask: u32 = 0x7fff << offset;
742pub mod R {}
743pub mod W {}
744pub mod RW {}
745 }
746#[doc = "0 = Normal operation"]
747pub mod RXDBYPASS {
748pub const offset: u32 = 22;
749pub const mask: u32 = 0x01 << offset;
750pub mod R {}
751pub mod W {}
752pub mod RW {}
753 }
754#[doc = "Reserved."]
755pub mod RSVD2 {
756pub const offset: u32 = 23;
757pub const mask: u32 = 0x01ff << offset;
758pub mod R {}
759pub mod W {}
760pub mod RW {}
761 }
762}
763#[doc = "USB PHY Receiver Control Register"]
764pub mod RX_CLR {
765#[doc = "The ENVADJ field adjusts the trip point for the envelope detector"]
766pub mod ENVADJ {
767pub const offset: u32 = 0;
768pub const mask: u32 = 0x07 << offset;
769pub mod R {}
770pub mod W {}
771pub mod RW {}
772 }
773#[doc = "Reserved."]
774pub mod RSVD0 {
775pub const offset: u32 = 3;
776pub const mask: u32 = 0x01 << offset;
777pub mod R {}
778pub mod W {}
779pub mod RW {}
780 }
781#[doc = "The DISCONADJ field adjusts the trip point for the disconnect detector: 000 = Trip-Level Voltage is 0"]
782pub mod DISCONADJ {
783pub const offset: u32 = 4;
784pub const mask: u32 = 0x07 << offset;
785pub mod R {}
786pub mod W {}
787pub mod RW {}
788 }
789#[doc = "Reserved."]
790pub mod RSVD1 {
791pub const offset: u32 = 7;
792pub const mask: u32 = 0x7fff << offset;
793pub mod R {}
794pub mod W {}
795pub mod RW {}
796 }
797#[doc = "0 = Normal operation"]
798pub mod RXDBYPASS {
799pub const offset: u32 = 22;
800pub const mask: u32 = 0x01 << offset;
801pub mod R {}
802pub mod W {}
803pub mod RW {}
804 }
805#[doc = "Reserved."]
806pub mod RSVD2 {
807pub const offset: u32 = 23;
808pub const mask: u32 = 0x01ff << offset;
809pub mod R {}
810pub mod W {}
811pub mod RW {}
812 }
813}
814#[doc = "USB PHY Receiver Control Register"]
815pub mod RX_TOG {
816#[doc = "The ENVADJ field adjusts the trip point for the envelope detector"]
817pub mod ENVADJ {
818pub const offset: u32 = 0;
819pub const mask: u32 = 0x07 << offset;
820pub mod R {}
821pub mod W {}
822pub mod RW {}
823 }
824#[doc = "Reserved."]
825pub mod RSVD0 {
826pub const offset: u32 = 3;
827pub const mask: u32 = 0x01 << offset;
828pub mod R {}
829pub mod W {}
830pub mod RW {}
831 }
832#[doc = "The DISCONADJ field adjusts the trip point for the disconnect detector: 000 = Trip-Level Voltage is 0"]
833pub mod DISCONADJ {
834pub const offset: u32 = 4;
835pub const mask: u32 = 0x07 << offset;
836pub mod R {}
837pub mod W {}
838pub mod RW {}
839 }
840#[doc = "Reserved."]
841pub mod RSVD1 {
842pub const offset: u32 = 7;
843pub const mask: u32 = 0x7fff << offset;
844pub mod R {}
845pub mod W {}
846pub mod RW {}
847 }
848#[doc = "0 = Normal operation"]
849pub mod RXDBYPASS {
850pub const offset: u32 = 22;
851pub const mask: u32 = 0x01 << offset;
852pub mod R {}
853pub mod W {}
854pub mod RW {}
855 }
856#[doc = "Reserved."]
857pub mod RSVD2 {
858pub const offset: u32 = 23;
859pub const mask: u32 = 0x01ff << offset;
860pub mod R {}
861pub mod W {}
862pub mod RW {}
863 }
864}
865#[doc = "USB PHY General Control Register"]
866pub mod CTRL {
867#[doc = "Enable OTG_ID_CHG_IRQ."]
868pub mod ENOTG_ID_CHG_IRQ {
869pub const offset: u32 = 0;
870pub const mask: u32 = 0x01 << offset;
871pub mod R {}
872pub mod W {}
873pub mod RW {}
874 }
875#[doc = "For host mode, enables high-speed disconnect detector"]
876pub mod ENHOSTDISCONDETECT {
877pub const offset: u32 = 1;
878pub const mask: u32 = 0x01 << offset;
879pub mod R {}
880pub mod W {}
881pub mod RW {}
882 }
883#[doc = "Enables interrupt for detection of disconnection to Device when in high-speed host mode"]
884pub mod ENIRQHOSTDISCON {
885pub const offset: u32 = 2;
886pub const mask: u32 = 0x01 << offset;
887pub mod R {}
888pub mod W {}
889pub mod RW {}
890 }
891#[doc = "Indicates that the device has disconnected in high-speed mode"]
892pub mod HOSTDISCONDETECT_IRQ {
893pub const offset: u32 = 3;
894pub const mask: u32 = 0x01 << offset;
895pub mod R {}
896pub mod W {}
897pub mod RW {}
898 }
899#[doc = "For device mode, enables 200-KOhm pullups for detecting connectivity to the host."]
900pub mod ENDEVPLUGINDETECT {
901pub const offset: u32 = 4;
902pub const mask: u32 = 0x01 << offset;
903pub mod R {}
904pub mod W {}
905pub mod RW {}
906 }
907#[doc = "For device mode, if this bit is cleared to 0, then it trips the interrupt if the device is plugged in"]
908pub mod DEVPLUGIN_POLARITY {
909pub const offset: u32 = 5;
910pub const mask: u32 = 0x01 << offset;
911pub mod R {}
912pub mod W {}
913pub mod RW {}
914 }
915#[doc = "OTG ID change interrupt. Indicates the value of ID pin changed."]
916pub mod OTG_ID_CHG_IRQ {
917pub const offset: u32 = 6;
918pub const mask: u32 = 0x01 << offset;
919pub mod R {}
920pub mod W {}
921pub mod RW {}
922 }
923#[doc = "Enables circuit to detect resistance of MiniAB ID pin."]
924pub mod ENOTGIDDETECT {
925pub const offset: u32 = 7;
926pub const mask: u32 = 0x01 << offset;
927pub mod R {}
928pub mod W {}
929pub mod RW {}
930 }
931#[doc = "Set to 1 will make RESUME_IRQ bit a sticky bit until software clear it"]
932pub mod RESUMEIRQSTICKY {
933pub const offset: u32 = 8;
934pub const mask: u32 = 0x01 << offset;
935pub mod R {}
936pub mod W {}
937pub mod RW {}
938 }
939#[doc = "Enables interrupt for detection of a non-J state on the USB line"]
940pub mod ENIRQRESUMEDETECT {
941pub const offset: u32 = 9;
942pub const mask: u32 = 0x01 << offset;
943pub mod R {}
944pub mod W {}
945pub mod RW {}
946 }
947#[doc = "Indicates that the host is sending a wake-up after suspend"]
948pub mod RESUME_IRQ {
949pub const offset: u32 = 10;
950pub const mask: u32 = 0x01 << offset;
951pub mod R {}
952pub mod W {}
953pub mod RW {}
954 }
955#[doc = "Enables interrupt for the detection of connectivity to the USB line."]
956pub mod ENIRQDEVPLUGIN {
957pub const offset: u32 = 11;
958pub const mask: u32 = 0x01 << offset;
959pub mod R {}
960pub mod W {}
961pub mod RW {}
962 }
963#[doc = "Indicates that the device is connected"]
964pub mod DEVPLUGIN_IRQ {
965pub const offset: u32 = 12;
966pub const mask: u32 = 0x01 << offset;
967pub mod R {}
968pub mod W {}
969pub mod RW {}
970 }
971#[doc = "Enables the LRADC to monitor USB_DP and USB_DM. This is for use in non-USB modes only."]
972pub mod DATA_ON_LRADC {
973pub const offset: u32 = 13;
974pub const mask: u32 = 0x01 << offset;
975pub mod R {}
976pub mod W {}
977pub mod RW {}
978 }
979#[doc = "Enables UTMI+ Level2. This should be enabled if needs to support LS device"]
980pub mod ENUTMILEVEL2 {
981pub const offset: u32 = 14;
982pub const mask: u32 = 0x01 << offset;
983pub mod R {}
984pub mod W {}
985pub mod RW {}
986 }
987#[doc = "Enables UTMI+ Level3"]
988pub mod ENUTMILEVEL3 {
989pub const offset: u32 = 15;
990pub const mask: u32 = 0x01 << offset;
991pub mod R {}
992pub mod W {}
993pub mod RW {}
994 }
995#[doc = "Enables interrupt for the wakeup events."]
996pub mod ENIRQWAKEUP {
997pub const offset: u32 = 16;
998pub const mask: u32 = 0x01 << offset;
999pub mod R {}
1000pub mod W {}
1001pub mod RW {}
1002 }
1003#[doc = "Indicates that there is a wakeup event"]
1004pub mod WAKEUP_IRQ {
1005pub const offset: u32 = 17;
1006pub const mask: u32 = 0x01 << offset;
1007pub mod R {}
1008pub mod W {}
1009pub mod RW {}
1010 }
1011#[doc = "Enables the feature to auto-enable the POWER bit of HW_CLKCTRL_PLLxCTRL0 if there is wakeup event if USB is suspended"]
1012pub mod ENAUTO_PWRON_PLL {
1013pub const offset: u32 = 18;
1014pub const mask: u32 = 0x01 << offset;
1015pub mod R {}
1016pub mod W {}
1017pub mod RW {}
1018 }
1019#[doc = "Enables the feature to auto-clear the CLKGATE bit if there is wakeup event while USB is suspended"]
1020pub mod ENAUTOCLR_CLKGATE {
1021pub const offset: u32 = 19;
1022pub const mask: u32 = 0x01 << offset;
1023pub mod R {}
1024pub mod W {}
1025pub mod RW {}
1026 }
1027#[doc = "Enables the feature to auto-clear the PWD register bits in USBPHYx_PWD if there is wakeup event while USB is suspended"]
1028pub mod ENAUTOCLR_PHY_PWD {
1029pub const offset: u32 = 20;
1030pub const mask: u32 = 0x01 << offset;
1031pub mod R {}
1032pub mod W {}
1033pub mod RW {}
1034 }
1035#[doc = "Enables the feature to wakeup USB if DP/DM is toggled when USB is suspended"]
1036pub mod ENDPDMCHG_WKUP {
1037pub const offset: u32 = 21;
1038pub const mask: u32 = 0x01 << offset;
1039pub mod R {}
1040pub mod W {}
1041pub mod RW {}
1042 }
1043#[doc = "Enables the feature to wakeup USB if ID is toggled when USB is suspended."]
1044pub mod ENIDCHG_WKUP {
1045pub const offset: u32 = 22;
1046pub const mask: u32 = 0x01 << offset;
1047pub mod R {}
1048pub mod W {}
1049pub mod RW {}
1050 }
1051#[doc = "Enables the feature to wakeup USB if VBUS is toggled when USB is suspended."]
1052pub mod ENVBUSCHG_WKUP {
1053pub const offset: u32 = 23;
1054pub const mask: u32 = 0x01 << offset;
1055pub mod R {}
1056pub mod W {}
1057pub mod RW {}
1058 }
1059#[doc = "Enables the feature to reset the FSDLL lock detection logic at the end of each TX packet."]
1060pub mod FSDLL_RST_EN {
1061pub const offset: u32 = 24;
1062pub const mask: u32 = 0x01 << offset;
1063pub mod R {}
1064pub mod W {}
1065pub mod RW {}
1066 }
1067#[doc = "Reserved."]
1068pub mod RSVD1 {
1069pub const offset: u32 = 25;
1070pub const mask: u32 = 0x03 << offset;
1071pub mod R {}
1072pub mod W {}
1073pub mod RW {}
1074 }
1075#[doc = "Almost same as OTGID_STATUS in USBPHYx_STATUS Register"]
1076pub mod OTG_ID_VALUE {
1077pub const offset: u32 = 27;
1078pub const mask: u32 = 0x01 << offset;
1079pub mod R {}
1080pub mod W {}
1081pub mod RW {}
1082 }
1083#[doc = "Forces the next FS packet that is transmitted to have a EOP with LS timing"]
1084pub mod HOST_FORCE_LS_SE0 {
1085pub const offset: u32 = 28;
1086pub const mask: u32 = 0x01 << offset;
1087pub mod R {}
1088pub mod W {}
1089pub mod RW {}
1090 }
1091#[doc = "Used by the PHY to indicate a powered-down state"]
1092pub mod UTMI_SUSPENDM {
1093pub const offset: u32 = 29;
1094pub const mask: u32 = 0x01 << offset;
1095pub mod R {}
1096pub mod W {}
1097pub mod RW {}
1098 }
1099#[doc = "Gate UTMI Clocks"]
1100pub mod CLKGATE {
1101pub const offset: u32 = 30;
1102pub const mask: u32 = 0x01 << offset;
1103pub mod R {}
1104pub mod W {}
1105pub mod RW {}
1106 }
1107#[doc = "Writing a 1 to this bit will soft-reset the USBPHYx_PWD, USBPHYx_TX, USBPHYx_RX, and USBPHYx_CTRL registers"]
1108pub mod SFTRST {
1109pub const offset: u32 = 31;
1110pub const mask: u32 = 0x01 << offset;
1111pub mod R {}
1112pub mod W {}
1113pub mod RW {}
1114 }
1115}
1116#[doc = "USB PHY General Control Register"]
1117pub mod CTRL_SET {
1118#[doc = "Enable OTG_ID_CHG_IRQ."]
1119pub mod ENOTG_ID_CHG_IRQ {
1120pub const offset: u32 = 0;
1121pub const mask: u32 = 0x01 << offset;
1122pub mod R {}
1123pub mod W {}
1124pub mod RW {}
1125 }
1126#[doc = "For host mode, enables high-speed disconnect detector"]
1127pub mod ENHOSTDISCONDETECT {
1128pub const offset: u32 = 1;
1129pub const mask: u32 = 0x01 << offset;
1130pub mod R {}
1131pub mod W {}
1132pub mod RW {}
1133 }
1134#[doc = "Enables interrupt for detection of disconnection to Device when in high-speed host mode"]
1135pub mod ENIRQHOSTDISCON {
1136pub const offset: u32 = 2;
1137pub const mask: u32 = 0x01 << offset;
1138pub mod R {}
1139pub mod W {}
1140pub mod RW {}
1141 }
1142#[doc = "Indicates that the device has disconnected in high-speed mode"]
1143pub mod HOSTDISCONDETECT_IRQ {
1144pub const offset: u32 = 3;
1145pub const mask: u32 = 0x01 << offset;
1146pub mod R {}
1147pub mod W {}
1148pub mod RW {}
1149 }
1150#[doc = "For device mode, enables 200-KOhm pullups for detecting connectivity to the host."]
1151pub mod ENDEVPLUGINDETECT {
1152pub const offset: u32 = 4;
1153pub const mask: u32 = 0x01 << offset;
1154pub mod R {}
1155pub mod W {}
1156pub mod RW {}
1157 }
1158#[doc = "For device mode, if this bit is cleared to 0, then it trips the interrupt if the device is plugged in"]
1159pub mod DEVPLUGIN_POLARITY {
1160pub const offset: u32 = 5;
1161pub const mask: u32 = 0x01 << offset;
1162pub mod R {}
1163pub mod W {}
1164pub mod RW {}
1165 }
1166#[doc = "OTG ID change interrupt. Indicates the value of ID pin changed."]
1167pub mod OTG_ID_CHG_IRQ {
1168pub const offset: u32 = 6;
1169pub const mask: u32 = 0x01 << offset;
1170pub mod R {}
1171pub mod W {}
1172pub mod RW {}
1173 }
1174#[doc = "Enables circuit to detect resistance of MiniAB ID pin."]
1175pub mod ENOTGIDDETECT {
1176pub const offset: u32 = 7;
1177pub const mask: u32 = 0x01 << offset;
1178pub mod R {}
1179pub mod W {}
1180pub mod RW {}
1181 }
1182#[doc = "Set to 1 will make RESUME_IRQ bit a sticky bit until software clear it"]
1183pub mod RESUMEIRQSTICKY {
1184pub const offset: u32 = 8;
1185pub const mask: u32 = 0x01 << offset;
1186pub mod R {}
1187pub mod W {}
1188pub mod RW {}
1189 }
1190#[doc = "Enables interrupt for detection of a non-J state on the USB line"]
1191pub mod ENIRQRESUMEDETECT {
1192pub const offset: u32 = 9;
1193pub const mask: u32 = 0x01 << offset;
1194pub mod R {}
1195pub mod W {}
1196pub mod RW {}
1197 }
1198#[doc = "Indicates that the host is sending a wake-up after suspend"]
1199pub mod RESUME_IRQ {
1200pub const offset: u32 = 10;
1201pub const mask: u32 = 0x01 << offset;
1202pub mod R {}
1203pub mod W {}
1204pub mod RW {}
1205 }
1206#[doc = "Enables interrupt for the detection of connectivity to the USB line."]
1207pub mod ENIRQDEVPLUGIN {
1208pub const offset: u32 = 11;
1209pub const mask: u32 = 0x01 << offset;
1210pub mod R {}
1211pub mod W {}
1212pub mod RW {}
1213 }
1214#[doc = "Indicates that the device is connected"]
1215pub mod DEVPLUGIN_IRQ {
1216pub const offset: u32 = 12;
1217pub const mask: u32 = 0x01 << offset;
1218pub mod R {}
1219pub mod W {}
1220pub mod RW {}
1221 }
1222#[doc = "Enables the LRADC to monitor USB_DP and USB_DM. This is for use in non-USB modes only."]
1223pub mod DATA_ON_LRADC {
1224pub const offset: u32 = 13;
1225pub const mask: u32 = 0x01 << offset;
1226pub mod R {}
1227pub mod W {}
1228pub mod RW {}
1229 }
1230#[doc = "Enables UTMI+ Level2. This should be enabled if needs to support LS device"]
1231pub mod ENUTMILEVEL2 {
1232pub const offset: u32 = 14;
1233pub const mask: u32 = 0x01 << offset;
1234pub mod R {}
1235pub mod W {}
1236pub mod RW {}
1237 }
1238#[doc = "Enables UTMI+ Level3"]
1239pub mod ENUTMILEVEL3 {
1240pub const offset: u32 = 15;
1241pub const mask: u32 = 0x01 << offset;
1242pub mod R {}
1243pub mod W {}
1244pub mod RW {}
1245 }
1246#[doc = "Enables interrupt for the wakeup events."]
1247pub mod ENIRQWAKEUP {
1248pub const offset: u32 = 16;
1249pub const mask: u32 = 0x01 << offset;
1250pub mod R {}
1251pub mod W {}
1252pub mod RW {}
1253 }
1254#[doc = "Indicates that there is a wakeup event"]
1255pub mod WAKEUP_IRQ {
1256pub const offset: u32 = 17;
1257pub const mask: u32 = 0x01 << offset;
1258pub mod R {}
1259pub mod W {}
1260pub mod RW {}
1261 }
1262#[doc = "Enables the feature to auto-enable the POWER bit of HW_CLKCTRL_PLLxCTRL0 if there is wakeup event if USB is suspended"]
1263pub mod ENAUTO_PWRON_PLL {
1264pub const offset: u32 = 18;
1265pub const mask: u32 = 0x01 << offset;
1266pub mod R {}
1267pub mod W {}
1268pub mod RW {}
1269 }
1270#[doc = "Enables the feature to auto-clear the CLKGATE bit if there is wakeup event while USB is suspended"]
1271pub mod ENAUTOCLR_CLKGATE {
1272pub const offset: u32 = 19;
1273pub const mask: u32 = 0x01 << offset;
1274pub mod R {}
1275pub mod W {}
1276pub mod RW {}
1277 }
1278#[doc = "Enables the feature to auto-clear the PWD register bits in USBPHYx_PWD if there is wakeup event while USB is suspended"]
1279pub mod ENAUTOCLR_PHY_PWD {
1280pub const offset: u32 = 20;
1281pub const mask: u32 = 0x01 << offset;
1282pub mod R {}
1283pub mod W {}
1284pub mod RW {}
1285 }
1286#[doc = "Enables the feature to wakeup USB if DP/DM is toggled when USB is suspended"]
1287pub mod ENDPDMCHG_WKUP {
1288pub const offset: u32 = 21;
1289pub const mask: u32 = 0x01 << offset;
1290pub mod R {}
1291pub mod W {}
1292pub mod RW {}
1293 }
1294#[doc = "Enables the feature to wakeup USB if ID is toggled when USB is suspended."]
1295pub mod ENIDCHG_WKUP {
1296pub const offset: u32 = 22;
1297pub const mask: u32 = 0x01 << offset;
1298pub mod R {}
1299pub mod W {}
1300pub mod RW {}
1301 }
1302#[doc = "Enables the feature to wakeup USB if VBUS is toggled when USB is suspended."]
1303pub mod ENVBUSCHG_WKUP {
1304pub const offset: u32 = 23;
1305pub const mask: u32 = 0x01 << offset;
1306pub mod R {}
1307pub mod W {}
1308pub mod RW {}
1309 }
1310#[doc = "Enables the feature to reset the FSDLL lock detection logic at the end of each TX packet."]
1311pub mod FSDLL_RST_EN {
1312pub const offset: u32 = 24;
1313pub const mask: u32 = 0x01 << offset;
1314pub mod R {}
1315pub mod W {}
1316pub mod RW {}
1317 }
1318#[doc = "Reserved."]
1319pub mod RSVD1 {
1320pub const offset: u32 = 25;
1321pub const mask: u32 = 0x03 << offset;
1322pub mod R {}
1323pub mod W {}
1324pub mod RW {}
1325 }
1326#[doc = "Almost same as OTGID_STATUS in USBPHYx_STATUS Register"]
1327pub mod OTG_ID_VALUE {
1328pub const offset: u32 = 27;
1329pub const mask: u32 = 0x01 << offset;
1330pub mod R {}
1331pub mod W {}
1332pub mod RW {}
1333 }
1334#[doc = "Forces the next FS packet that is transmitted to have a EOP with LS timing"]
1335pub mod HOST_FORCE_LS_SE0 {
1336pub const offset: u32 = 28;
1337pub const mask: u32 = 0x01 << offset;
1338pub mod R {}
1339pub mod W {}
1340pub mod RW {}
1341 }
1342#[doc = "Used by the PHY to indicate a powered-down state"]
1343pub mod UTMI_SUSPENDM {
1344pub const offset: u32 = 29;
1345pub const mask: u32 = 0x01 << offset;
1346pub mod R {}
1347pub mod W {}
1348pub mod RW {}
1349 }
1350#[doc = "Gate UTMI Clocks"]
1351pub mod CLKGATE {
1352pub const offset: u32 = 30;
1353pub const mask: u32 = 0x01 << offset;
1354pub mod R {}
1355pub mod W {}
1356pub mod RW {}
1357 }
1358#[doc = "Writing a 1 to this bit will soft-reset the USBPHYx_PWD, USBPHYx_TX, USBPHYx_RX, and USBPHYx_CTRL registers"]
1359pub mod SFTRST {
1360pub const offset: u32 = 31;
1361pub const mask: u32 = 0x01 << offset;
1362pub mod R {}
1363pub mod W {}
1364pub mod RW {}
1365 }
1366}
1367#[doc = "USB PHY General Control Register"]
1368pub mod CTRL_CLR {
1369#[doc = "Enable OTG_ID_CHG_IRQ."]
1370pub mod ENOTG_ID_CHG_IRQ {
1371pub const offset: u32 = 0;
1372pub const mask: u32 = 0x01 << offset;
1373pub mod R {}
1374pub mod W {}
1375pub mod RW {}
1376 }
1377#[doc = "For host mode, enables high-speed disconnect detector"]
1378pub mod ENHOSTDISCONDETECT {
1379pub const offset: u32 = 1;
1380pub const mask: u32 = 0x01 << offset;
1381pub mod R {}
1382pub mod W {}
1383pub mod RW {}
1384 }
1385#[doc = "Enables interrupt for detection of disconnection to Device when in high-speed host mode"]
1386pub mod ENIRQHOSTDISCON {
1387pub const offset: u32 = 2;
1388pub const mask: u32 = 0x01 << offset;
1389pub mod R {}
1390pub mod W {}
1391pub mod RW {}
1392 }
1393#[doc = "Indicates that the device has disconnected in high-speed mode"]
1394pub mod HOSTDISCONDETECT_IRQ {
1395pub const offset: u32 = 3;
1396pub const mask: u32 = 0x01 << offset;
1397pub mod R {}
1398pub mod W {}
1399pub mod RW {}
1400 }
1401#[doc = "For device mode, enables 200-KOhm pullups for detecting connectivity to the host."]
1402pub mod ENDEVPLUGINDETECT {
1403pub const offset: u32 = 4;
1404pub const mask: u32 = 0x01 << offset;
1405pub mod R {}
1406pub mod W {}
1407pub mod RW {}
1408 }
1409#[doc = "For device mode, if this bit is cleared to 0, then it trips the interrupt if the device is plugged in"]
1410pub mod DEVPLUGIN_POLARITY {
1411pub const offset: u32 = 5;
1412pub const mask: u32 = 0x01 << offset;
1413pub mod R {}
1414pub mod W {}
1415pub mod RW {}
1416 }
1417#[doc = "OTG ID change interrupt. Indicates the value of ID pin changed."]
1418pub mod OTG_ID_CHG_IRQ {
1419pub const offset: u32 = 6;
1420pub const mask: u32 = 0x01 << offset;
1421pub mod R {}
1422pub mod W {}
1423pub mod RW {}
1424 }
1425#[doc = "Enables circuit to detect resistance of MiniAB ID pin."]
1426pub mod ENOTGIDDETECT {
1427pub const offset: u32 = 7;
1428pub const mask: u32 = 0x01 << offset;
1429pub mod R {}
1430pub mod W {}
1431pub mod RW {}
1432 }
1433#[doc = "Set to 1 will make RESUME_IRQ bit a sticky bit until software clear it"]
1434pub mod RESUMEIRQSTICKY {
1435pub const offset: u32 = 8;
1436pub const mask: u32 = 0x01 << offset;
1437pub mod R {}
1438pub mod W {}
1439pub mod RW {}
1440 }
1441#[doc = "Enables interrupt for detection of a non-J state on the USB line"]
1442pub mod ENIRQRESUMEDETECT {
1443pub const offset: u32 = 9;
1444pub const mask: u32 = 0x01 << offset;
1445pub mod R {}
1446pub mod W {}
1447pub mod RW {}
1448 }
1449#[doc = "Indicates that the host is sending a wake-up after suspend"]
1450pub mod RESUME_IRQ {
1451pub const offset: u32 = 10;
1452pub const mask: u32 = 0x01 << offset;
1453pub mod R {}
1454pub mod W {}
1455pub mod RW {}
1456 }
1457#[doc = "Enables interrupt for the detection of connectivity to the USB line."]
1458pub mod ENIRQDEVPLUGIN {
1459pub const offset: u32 = 11;
1460pub const mask: u32 = 0x01 << offset;
1461pub mod R {}
1462pub mod W {}
1463pub mod RW {}
1464 }
1465#[doc = "Indicates that the device is connected"]
1466pub mod DEVPLUGIN_IRQ {
1467pub const offset: u32 = 12;
1468pub const mask: u32 = 0x01 << offset;
1469pub mod R {}
1470pub mod W {}
1471pub mod RW {}
1472 }
1473#[doc = "Enables the LRADC to monitor USB_DP and USB_DM. This is for use in non-USB modes only."]
1474pub mod DATA_ON_LRADC {
1475pub const offset: u32 = 13;
1476pub const mask: u32 = 0x01 << offset;
1477pub mod R {}
1478pub mod W {}
1479pub mod RW {}
1480 }
1481#[doc = "Enables UTMI+ Level2. This should be enabled if needs to support LS device"]
1482pub mod ENUTMILEVEL2 {
1483pub const offset: u32 = 14;
1484pub const mask: u32 = 0x01 << offset;
1485pub mod R {}
1486pub mod W {}
1487pub mod RW {}
1488 }
1489#[doc = "Enables UTMI+ Level3"]
1490pub mod ENUTMILEVEL3 {
1491pub const offset: u32 = 15;
1492pub const mask: u32 = 0x01 << offset;
1493pub mod R {}
1494pub mod W {}
1495pub mod RW {}
1496 }
1497#[doc = "Enables interrupt for the wakeup events."]
1498pub mod ENIRQWAKEUP {
1499pub const offset: u32 = 16;
1500pub const mask: u32 = 0x01 << offset;
1501pub mod R {}
1502pub mod W {}
1503pub mod RW {}
1504 }
1505#[doc = "Indicates that there is a wakeup event"]
1506pub mod WAKEUP_IRQ {
1507pub const offset: u32 = 17;
1508pub const mask: u32 = 0x01 << offset;
1509pub mod R {}
1510pub mod W {}
1511pub mod RW {}
1512 }
1513#[doc = "Enables the feature to auto-enable the POWER bit of HW_CLKCTRL_PLLxCTRL0 if there is wakeup event if USB is suspended"]
1514pub mod ENAUTO_PWRON_PLL {
1515pub const offset: u32 = 18;
1516pub const mask: u32 = 0x01 << offset;
1517pub mod R {}
1518pub mod W {}
1519pub mod RW {}
1520 }
1521#[doc = "Enables the feature to auto-clear the CLKGATE bit if there is wakeup event while USB is suspended"]
1522pub mod ENAUTOCLR_CLKGATE {
1523pub const offset: u32 = 19;
1524pub const mask: u32 = 0x01 << offset;
1525pub mod R {}
1526pub mod W {}
1527pub mod RW {}
1528 }
1529#[doc = "Enables the feature to auto-clear the PWD register bits in USBPHYx_PWD if there is wakeup event while USB is suspended"]
1530pub mod ENAUTOCLR_PHY_PWD {
1531pub const offset: u32 = 20;
1532pub const mask: u32 = 0x01 << offset;
1533pub mod R {}
1534pub mod W {}
1535pub mod RW {}
1536 }
1537#[doc = "Enables the feature to wakeup USB if DP/DM is toggled when USB is suspended"]
1538pub mod ENDPDMCHG_WKUP {
1539pub const offset: u32 = 21;
1540pub const mask: u32 = 0x01 << offset;
1541pub mod R {}
1542pub mod W {}
1543pub mod RW {}
1544 }
1545#[doc = "Enables the feature to wakeup USB if ID is toggled when USB is suspended."]
1546pub mod ENIDCHG_WKUP {
1547pub const offset: u32 = 22;
1548pub const mask: u32 = 0x01 << offset;
1549pub mod R {}
1550pub mod W {}
1551pub mod RW {}
1552 }
1553#[doc = "Enables the feature to wakeup USB if VBUS is toggled when USB is suspended."]
1554pub mod ENVBUSCHG_WKUP {
1555pub const offset: u32 = 23;
1556pub const mask: u32 = 0x01 << offset;
1557pub mod R {}
1558pub mod W {}
1559pub mod RW {}
1560 }
1561#[doc = "Enables the feature to reset the FSDLL lock detection logic at the end of each TX packet."]
1562pub mod FSDLL_RST_EN {
1563pub const offset: u32 = 24;
1564pub const mask: u32 = 0x01 << offset;
1565pub mod R {}
1566pub mod W {}
1567pub mod RW {}
1568 }
1569#[doc = "Reserved."]
1570pub mod RSVD1 {
1571pub const offset: u32 = 25;
1572pub const mask: u32 = 0x03 << offset;
1573pub mod R {}
1574pub mod W {}
1575pub mod RW {}
1576 }
1577#[doc = "Almost same as OTGID_STATUS in USBPHYx_STATUS Register"]
1578pub mod OTG_ID_VALUE {
1579pub const offset: u32 = 27;
1580pub const mask: u32 = 0x01 << offset;
1581pub mod R {}
1582pub mod W {}
1583pub mod RW {}
1584 }
1585#[doc = "Forces the next FS packet that is transmitted to have a EOP with LS timing"]
1586pub mod HOST_FORCE_LS_SE0 {
1587pub const offset: u32 = 28;
1588pub const mask: u32 = 0x01 << offset;
1589pub mod R {}
1590pub mod W {}
1591pub mod RW {}
1592 }
1593#[doc = "Used by the PHY to indicate a powered-down state"]
1594pub mod UTMI_SUSPENDM {
1595pub const offset: u32 = 29;
1596pub const mask: u32 = 0x01 << offset;
1597pub mod R {}
1598pub mod W {}
1599pub mod RW {}
1600 }
1601#[doc = "Gate UTMI Clocks"]
1602pub mod CLKGATE {
1603pub const offset: u32 = 30;
1604pub const mask: u32 = 0x01 << offset;
1605pub mod R {}
1606pub mod W {}
1607pub mod RW {}
1608 }
1609#[doc = "Writing a 1 to this bit will soft-reset the USBPHYx_PWD, USBPHYx_TX, USBPHYx_RX, and USBPHYx_CTRL registers"]
1610pub mod SFTRST {
1611pub const offset: u32 = 31;
1612pub const mask: u32 = 0x01 << offset;
1613pub mod R {}
1614pub mod W {}
1615pub mod RW {}
1616 }
1617}
1618#[doc = "USB PHY General Control Register"]
1619pub mod CTRL_TOG {
1620#[doc = "Enable OTG_ID_CHG_IRQ."]
1621pub mod ENOTG_ID_CHG_IRQ {
1622pub const offset: u32 = 0;
1623pub const mask: u32 = 0x01 << offset;
1624pub mod R {}
1625pub mod W {}
1626pub mod RW {}
1627 }
1628#[doc = "For host mode, enables high-speed disconnect detector"]
1629pub mod ENHOSTDISCONDETECT {
1630pub const offset: u32 = 1;
1631pub const mask: u32 = 0x01 << offset;
1632pub mod R {}
1633pub mod W {}
1634pub mod RW {}
1635 }
1636#[doc = "Enables interrupt for detection of disconnection to Device when in high-speed host mode"]
1637pub mod ENIRQHOSTDISCON {
1638pub const offset: u32 = 2;
1639pub const mask: u32 = 0x01 << offset;
1640pub mod R {}
1641pub mod W {}
1642pub mod RW {}
1643 }
1644#[doc = "Indicates that the device has disconnected in high-speed mode"]
1645pub mod HOSTDISCONDETECT_IRQ {
1646pub const offset: u32 = 3;
1647pub const mask: u32 = 0x01 << offset;
1648pub mod R {}
1649pub mod W {}
1650pub mod RW {}
1651 }
1652#[doc = "For device mode, enables 200-KOhm pullups for detecting connectivity to the host."]
1653pub mod ENDEVPLUGINDETECT {
1654pub const offset: u32 = 4;
1655pub const mask: u32 = 0x01 << offset;
1656pub mod R {}
1657pub mod W {}
1658pub mod RW {}
1659 }
1660#[doc = "For device mode, if this bit is cleared to 0, then it trips the interrupt if the device is plugged in"]
1661pub mod DEVPLUGIN_POLARITY {
1662pub const offset: u32 = 5;
1663pub const mask: u32 = 0x01 << offset;
1664pub mod R {}
1665pub mod W {}
1666pub mod RW {}
1667 }
1668#[doc = "OTG ID change interrupt. Indicates the value of ID pin changed."]
1669pub mod OTG_ID_CHG_IRQ {
1670pub const offset: u32 = 6;
1671pub const mask: u32 = 0x01 << offset;
1672pub mod R {}
1673pub mod W {}
1674pub mod RW {}
1675 }
1676#[doc = "Enables circuit to detect resistance of MiniAB ID pin."]
1677pub mod ENOTGIDDETECT {
1678pub const offset: u32 = 7;
1679pub const mask: u32 = 0x01 << offset;
1680pub mod R {}
1681pub mod W {}
1682pub mod RW {}
1683 }
1684#[doc = "Set to 1 will make RESUME_IRQ bit a sticky bit until software clear it"]
1685pub mod RESUMEIRQSTICKY {
1686pub const offset: u32 = 8;
1687pub const mask: u32 = 0x01 << offset;
1688pub mod R {}
1689pub mod W {}
1690pub mod RW {}
1691 }
1692#[doc = "Enables interrupt for detection of a non-J state on the USB line"]
1693pub mod ENIRQRESUMEDETECT {
1694pub const offset: u32 = 9;
1695pub const mask: u32 = 0x01 << offset;
1696pub mod R {}
1697pub mod W {}
1698pub mod RW {}
1699 }
1700#[doc = "Indicates that the host is sending a wake-up after suspend"]
1701pub mod RESUME_IRQ {
1702pub const offset: u32 = 10;
1703pub const mask: u32 = 0x01 << offset;
1704pub mod R {}
1705pub mod W {}
1706pub mod RW {}
1707 }
1708#[doc = "Enables interrupt for the detection of connectivity to the USB line."]
1709pub mod ENIRQDEVPLUGIN {
1710pub const offset: u32 = 11;
1711pub const mask: u32 = 0x01 << offset;
1712pub mod R {}
1713pub mod W {}
1714pub mod RW {}
1715 }
1716#[doc = "Indicates that the device is connected"]
1717pub mod DEVPLUGIN_IRQ {
1718pub const offset: u32 = 12;
1719pub const mask: u32 = 0x01 << offset;
1720pub mod R {}
1721pub mod W {}
1722pub mod RW {}
1723 }
1724#[doc = "Enables the LRADC to monitor USB_DP and USB_DM. This is for use in non-USB modes only."]
1725pub mod DATA_ON_LRADC {
1726pub const offset: u32 = 13;
1727pub const mask: u32 = 0x01 << offset;
1728pub mod R {}
1729pub mod W {}
1730pub mod RW {}
1731 }
1732#[doc = "Enables UTMI+ Level2. This should be enabled if needs to support LS device"]
1733pub mod ENUTMILEVEL2 {
1734pub const offset: u32 = 14;
1735pub const mask: u32 = 0x01 << offset;
1736pub mod R {}
1737pub mod W {}
1738pub mod RW {}
1739 }
1740#[doc = "Enables UTMI+ Level3"]
1741pub mod ENUTMILEVEL3 {
1742pub const offset: u32 = 15;
1743pub const mask: u32 = 0x01 << offset;
1744pub mod R {}
1745pub mod W {}
1746pub mod RW {}
1747 }
1748#[doc = "Enables interrupt for the wakeup events."]
1749pub mod ENIRQWAKEUP {
1750pub const offset: u32 = 16;
1751pub const mask: u32 = 0x01 << offset;
1752pub mod R {}
1753pub mod W {}
1754pub mod RW {}
1755 }
1756#[doc = "Indicates that there is a wakeup event"]
1757pub mod WAKEUP_IRQ {
1758pub const offset: u32 = 17;
1759pub const mask: u32 = 0x01 << offset;
1760pub mod R {}
1761pub mod W {}
1762pub mod RW {}
1763 }
1764#[doc = "Enables the feature to auto-enable the POWER bit of HW_CLKCTRL_PLLxCTRL0 if there is wakeup event if USB is suspended"]
1765pub mod ENAUTO_PWRON_PLL {
1766pub const offset: u32 = 18;
1767pub const mask: u32 = 0x01 << offset;
1768pub mod R {}
1769pub mod W {}
1770pub mod RW {}
1771 }
1772#[doc = "Enables the feature to auto-clear the CLKGATE bit if there is wakeup event while USB is suspended"]
1773pub mod ENAUTOCLR_CLKGATE {
1774pub const offset: u32 = 19;
1775pub const mask: u32 = 0x01 << offset;
1776pub mod R {}
1777pub mod W {}
1778pub mod RW {}
1779 }
1780#[doc = "Enables the feature to auto-clear the PWD register bits in USBPHYx_PWD if there is wakeup event while USB is suspended"]
1781pub mod ENAUTOCLR_PHY_PWD {
1782pub const offset: u32 = 20;
1783pub const mask: u32 = 0x01 << offset;
1784pub mod R {}
1785pub mod W {}
1786pub mod RW {}
1787 }
1788#[doc = "Enables the feature to wakeup USB if DP/DM is toggled when USB is suspended"]
1789pub mod ENDPDMCHG_WKUP {
1790pub const offset: u32 = 21;
1791pub const mask: u32 = 0x01 << offset;
1792pub mod R {}
1793pub mod W {}
1794pub mod RW {}
1795 }
1796#[doc = "Enables the feature to wakeup USB if ID is toggled when USB is suspended."]
1797pub mod ENIDCHG_WKUP {
1798pub const offset: u32 = 22;
1799pub const mask: u32 = 0x01 << offset;
1800pub mod R {}
1801pub mod W {}
1802pub mod RW {}
1803 }
1804#[doc = "Enables the feature to wakeup USB if VBUS is toggled when USB is suspended."]
1805pub mod ENVBUSCHG_WKUP {
1806pub const offset: u32 = 23;
1807pub const mask: u32 = 0x01 << offset;
1808pub mod R {}
1809pub mod W {}
1810pub mod RW {}
1811 }
1812#[doc = "Enables the feature to reset the FSDLL lock detection logic at the end of each TX packet."]
1813pub mod FSDLL_RST_EN {
1814pub const offset: u32 = 24;
1815pub const mask: u32 = 0x01 << offset;
1816pub mod R {}
1817pub mod W {}
1818pub mod RW {}
1819 }
1820#[doc = "Reserved."]
1821pub mod RSVD1 {
1822pub const offset: u32 = 25;
1823pub const mask: u32 = 0x03 << offset;
1824pub mod R {}
1825pub mod W {}
1826pub mod RW {}
1827 }
1828#[doc = "Almost same as OTGID_STATUS in USBPHYx_STATUS Register"]
1829pub mod OTG_ID_VALUE {
1830pub const offset: u32 = 27;
1831pub const mask: u32 = 0x01 << offset;
1832pub mod R {}
1833pub mod W {}
1834pub mod RW {}
1835 }
1836#[doc = "Forces the next FS packet that is transmitted to have a EOP with LS timing"]
1837pub mod HOST_FORCE_LS_SE0 {
1838pub const offset: u32 = 28;
1839pub const mask: u32 = 0x01 << offset;
1840pub mod R {}
1841pub mod W {}
1842pub mod RW {}
1843 }
1844#[doc = "Used by the PHY to indicate a powered-down state"]
1845pub mod UTMI_SUSPENDM {
1846pub const offset: u32 = 29;
1847pub const mask: u32 = 0x01 << offset;
1848pub mod R {}
1849pub mod W {}
1850pub mod RW {}
1851 }
1852#[doc = "Gate UTMI Clocks"]
1853pub mod CLKGATE {
1854pub const offset: u32 = 30;
1855pub const mask: u32 = 0x01 << offset;
1856pub mod R {}
1857pub mod W {}
1858pub mod RW {}
1859 }
1860#[doc = "Writing a 1 to this bit will soft-reset the USBPHYx_PWD, USBPHYx_TX, USBPHYx_RX, and USBPHYx_CTRL registers"]
1861pub mod SFTRST {
1862pub const offset: u32 = 31;
1863pub const mask: u32 = 0x01 << offset;
1864pub mod R {}
1865pub mod W {}
1866pub mod RW {}
1867 }
1868}
1869#[doc = "USB PHY Status Register"]
1870pub mod STATUS {
1871#[doc = "Reserved."]
1872pub mod RSVD0 {
1873pub const offset: u32 = 0;
1874pub const mask: u32 = 0x07 << offset;
1875pub mod R {}
1876pub mod W {}
1877pub mod RW {}
1878 }
1879#[doc = "Indicates that the device has disconnected while in high-speed host mode."]
1880pub mod HOSTDISCONDETECT_STATUS {
1881pub const offset: u32 = 3;
1882pub const mask: u32 = 0x01 << offset;
1883pub mod R {}
1884pub mod W {}
1885pub mod RW {}
1886 }
1887#[doc = "Reserved."]
1888pub mod RSVD1 {
1889pub const offset: u32 = 4;
1890pub const mask: u32 = 0x03 << offset;
1891pub mod R {}
1892pub mod W {}
1893pub mod RW {}
1894 }
1895#[doc = "Indicates that the device has been connected on the USB_DP and USB_DM lines."]
1896pub mod DEVPLUGIN_STATUS {
1897pub const offset: u32 = 6;
1898pub const mask: u32 = 0x01 << offset;
1899pub mod R {}
1900pub mod W {}
1901pub mod RW {}
1902 }
1903#[doc = "Reserved."]
1904pub mod RSVD2 {
1905pub const offset: u32 = 7;
1906pub const mask: u32 = 0x01 << offset;
1907pub mod R {}
1908pub mod W {}
1909pub mod RW {}
1910 }
1911#[doc = "Indicates the results of ID pin on MiniAB plug"]
1912pub mod OTGID_STATUS {
1913pub const offset: u32 = 8;
1914pub const mask: u32 = 0x01 << offset;
1915pub mod R {}
1916pub mod W {}
1917pub mod RW {}
1918 }
1919#[doc = "Reserved."]
1920pub mod RSVD3 {
1921pub const offset: u32 = 9;
1922pub const mask: u32 = 0x01 << offset;
1923pub mod R {}
1924pub mod W {}
1925pub mod RW {}
1926 }
1927#[doc = "Indicates that the host is sending a wake-up after suspend and has triggered an interrupt."]
1928pub mod RESUME_STATUS {
1929pub const offset: u32 = 10;
1930pub const mask: u32 = 0x01 << offset;
1931pub mod R {}
1932pub mod W {}
1933pub mod RW {}
1934 }
1935#[doc = "Reserved."]
1936pub mod RSVD4 {
1937pub const offset: u32 = 11;
1938pub const mask: u32 = 0x001f_ffff << offset;
1939pub mod R {}
1940pub mod W {}
1941pub mod RW {}
1942 }
1943}
1944#[doc = "USB PHY Debug Register"]
1945pub mod DEBUG {
1946#[doc = "Once OTG ID from USBPHYx_STATUS_OTGID_STATUS, use this to hold the value"]
1947pub mod OTGIDPIOLOCK {
1948pub const offset: u32 = 0;
1949pub const mask: u32 = 0x01 << offset;
1950pub mod R {}
1951pub mod W {}
1952pub mod RW {}
1953 }
1954#[doc = "Use holding registers to assist in timing for external UTMI interface."]
1955pub mod DEBUG_INTERFACE_HOLD {
1956pub const offset: u32 = 1;
1957pub const mask: u32 = 0x01 << offset;
1958pub mod R {}
1959pub mod W {}
1960pub mod RW {}
1961 }
1962#[doc = "Set bit 3 to 1 to pull down 15-KOhm on USB_DP line"]
1963pub mod HSTPULLDOWN {
1964pub const offset: u32 = 2;
1965pub const mask: u32 = 0x03 << offset;
1966pub mod R {}
1967pub mod W {}
1968pub mod RW {}
1969 }
1970#[doc = "Set bit 5 to 1 to override the control of the USB_DP 15-KOhm pulldown"]
1971pub mod ENHSTPULLDOWN {
1972pub const offset: u32 = 4;
1973pub const mask: u32 = 0x03 << offset;
1974pub mod R {}
1975pub mod W {}
1976pub mod RW {}
1977 }
1978#[doc = "Reserved."]
1979pub mod RSVD0 {
1980pub const offset: u32 = 6;
1981pub const mask: u32 = 0x03 << offset;
1982pub mod R {}
1983pub mod W {}
1984pub mod RW {}
1985 }
1986#[doc = "Delay in between the end of transmit to the beginning of receive"]
1987pub mod TX2RXCOUNT {
1988pub const offset: u32 = 8;
1989pub const mask: u32 = 0x0f << offset;
1990pub mod R {}
1991pub mod W {}
1992pub mod RW {}
1993 }
1994#[doc = "Set this bit to allow a countdown to transition in between TX and RX."]
1995pub mod ENTX2RXCOUNT {
1996pub const offset: u32 = 12;
1997pub const mask: u32 = 0x01 << offset;
1998pub mod R {}
1999pub mod W {}
2000pub mod RW {}
2001 }
2002#[doc = "Reserved."]
2003pub mod RSVD1 {
2004pub const offset: u32 = 13;
2005pub const mask: u32 = 0x07 << offset;
2006pub mod R {}
2007pub mod W {}
2008pub mod RW {}
2009 }
2010#[doc = "Delay in between the detection of squelch to the reset of high-speed RX."]
2011pub mod SQUELCHRESETCOUNT {
2012pub const offset: u32 = 16;
2013pub const mask: u32 = 0x1f << offset;
2014pub mod R {}
2015pub mod W {}
2016pub mod RW {}
2017 }
2018#[doc = "Reserved."]
2019pub mod RSVD2 {
2020pub const offset: u32 = 21;
2021pub const mask: u32 = 0x07 << offset;
2022pub mod R {}
2023pub mod W {}
2024pub mod RW {}
2025 }
2026#[doc = "Set bit to allow squelch to reset high-speed receive."]
2027pub mod ENSQUELCHRESET {
2028pub const offset: u32 = 24;
2029pub const mask: u32 = 0x01 << offset;
2030pub mod R {}
2031pub mod W {}
2032pub mod RW {}
2033 }
2034#[doc = "Duration of RESET in terms of the number of 480-MHz cycles."]
2035pub mod SQUELCHRESETLENGTH {
2036pub const offset: u32 = 25;
2037pub const mask: u32 = 0x0f << offset;
2038pub mod R {}
2039pub mod W {}
2040pub mod RW {}
2041 }
2042#[doc = "Choose to trigger the host resume SE0 with HOST_FORCE_LS_SE0 = 0 or UTMI_SUSPEND = 1."]
2043pub mod HOST_RESUME_DEBUG {
2044pub const offset: u32 = 29;
2045pub const mask: u32 = 0x01 << offset;
2046pub mod R {}
2047pub mod W {}
2048pub mod RW {}
2049 }
2050#[doc = "Gate Test Clocks"]
2051pub mod CLKGATE {
2052pub const offset: u32 = 30;
2053pub const mask: u32 = 0x01 << offset;
2054pub mod R {}
2055pub mod W {}
2056pub mod RW {}
2057 }
2058#[doc = "Reserved."]
2059pub mod RSVD3 {
2060pub const offset: u32 = 31;
2061pub const mask: u32 = 0x01 << offset;
2062pub mod R {}
2063pub mod W {}
2064pub mod RW {}
2065 }
2066}
2067#[doc = "USB PHY Debug Register"]
2068pub mod DEBUG_SET {
2069#[doc = "Once OTG ID from USBPHYx_STATUS_OTGID_STATUS, use this to hold the value"]
2070pub mod OTGIDPIOLOCK {
2071pub const offset: u32 = 0;
2072pub const mask: u32 = 0x01 << offset;
2073pub mod R {}
2074pub mod W {}
2075pub mod RW {}
2076 }
2077#[doc = "Use holding registers to assist in timing for external UTMI interface."]
2078pub mod DEBUG_INTERFACE_HOLD {
2079pub const offset: u32 = 1;
2080pub const mask: u32 = 0x01 << offset;
2081pub mod R {}
2082pub mod W {}
2083pub mod RW {}
2084 }
2085#[doc = "Set bit 3 to 1 to pull down 15-KOhm on USB_DP line"]
2086pub mod HSTPULLDOWN {
2087pub const offset: u32 = 2;
2088pub const mask: u32 = 0x03 << offset;
2089pub mod R {}
2090pub mod W {}
2091pub mod RW {}
2092 }
2093#[doc = "Set bit 5 to 1 to override the control of the USB_DP 15-KOhm pulldown"]
2094pub mod ENHSTPULLDOWN {
2095pub const offset: u32 = 4;
2096pub const mask: u32 = 0x03 << offset;
2097pub mod R {}
2098pub mod W {}
2099pub mod RW {}
2100 }
2101#[doc = "Reserved."]
2102pub mod RSVD0 {
2103pub const offset: u32 = 6;
2104pub const mask: u32 = 0x03 << offset;
2105pub mod R {}
2106pub mod W {}
2107pub mod RW {}
2108 }
2109#[doc = "Delay in between the end of transmit to the beginning of receive"]
2110pub mod TX2RXCOUNT {
2111pub const offset: u32 = 8;
2112pub const mask: u32 = 0x0f << offset;
2113pub mod R {}
2114pub mod W {}
2115pub mod RW {}
2116 }
2117#[doc = "Set this bit to allow a countdown to transition in between TX and RX."]
2118pub mod ENTX2RXCOUNT {
2119pub const offset: u32 = 12;
2120pub const mask: u32 = 0x01 << offset;
2121pub mod R {}
2122pub mod W {}
2123pub mod RW {}
2124 }
2125#[doc = "Reserved."]
2126pub mod RSVD1 {
2127pub const offset: u32 = 13;
2128pub const mask: u32 = 0x07 << offset;
2129pub mod R {}
2130pub mod W {}
2131pub mod RW {}
2132 }
2133#[doc = "Delay in between the detection of squelch to the reset of high-speed RX."]
2134pub mod SQUELCHRESETCOUNT {
2135pub const offset: u32 = 16;
2136pub const mask: u32 = 0x1f << offset;
2137pub mod R {}
2138pub mod W {}
2139pub mod RW {}
2140 }
2141#[doc = "Reserved."]
2142pub mod RSVD2 {
2143pub const offset: u32 = 21;
2144pub const mask: u32 = 0x07 << offset;
2145pub mod R {}
2146pub mod W {}
2147pub mod RW {}
2148 }
2149#[doc = "Set bit to allow squelch to reset high-speed receive."]
2150pub mod ENSQUELCHRESET {
2151pub const offset: u32 = 24;
2152pub const mask: u32 = 0x01 << offset;
2153pub mod R {}
2154pub mod W {}
2155pub mod RW {}
2156 }
2157#[doc = "Duration of RESET in terms of the number of 480-MHz cycles."]
2158pub mod SQUELCHRESETLENGTH {
2159pub const offset: u32 = 25;
2160pub const mask: u32 = 0x0f << offset;
2161pub mod R {}
2162pub mod W {}
2163pub mod RW {}
2164 }
2165#[doc = "Choose to trigger the host resume SE0 with HOST_FORCE_LS_SE0 = 0 or UTMI_SUSPEND = 1."]
2166pub mod HOST_RESUME_DEBUG {
2167pub const offset: u32 = 29;
2168pub const mask: u32 = 0x01 << offset;
2169pub mod R {}
2170pub mod W {}
2171pub mod RW {}
2172 }
2173#[doc = "Gate Test Clocks"]
2174pub mod CLKGATE {
2175pub const offset: u32 = 30;
2176pub const mask: u32 = 0x01 << offset;
2177pub mod R {}
2178pub mod W {}
2179pub mod RW {}
2180 }
2181#[doc = "Reserved."]
2182pub mod RSVD3 {
2183pub const offset: u32 = 31;
2184pub const mask: u32 = 0x01 << offset;
2185pub mod R {}
2186pub mod W {}
2187pub mod RW {}
2188 }
2189}
2190#[doc = "USB PHY Debug Register"]
2191pub mod DEBUG_CLR {
2192#[doc = "Once OTG ID from USBPHYx_STATUS_OTGID_STATUS, use this to hold the value"]
2193pub mod OTGIDPIOLOCK {
2194pub const offset: u32 = 0;
2195pub const mask: u32 = 0x01 << offset;
2196pub mod R {}
2197pub mod W {}
2198pub mod RW {}
2199 }
2200#[doc = "Use holding registers to assist in timing for external UTMI interface."]
2201pub mod DEBUG_INTERFACE_HOLD {
2202pub const offset: u32 = 1;
2203pub const mask: u32 = 0x01 << offset;
2204pub mod R {}
2205pub mod W {}
2206pub mod RW {}
2207 }
2208#[doc = "Set bit 3 to 1 to pull down 15-KOhm on USB_DP line"]
2209pub mod HSTPULLDOWN {
2210pub const offset: u32 = 2;
2211pub const mask: u32 = 0x03 << offset;
2212pub mod R {}
2213pub mod W {}
2214pub mod RW {}
2215 }
2216#[doc = "Set bit 5 to 1 to override the control of the USB_DP 15-KOhm pulldown"]
2217pub mod ENHSTPULLDOWN {
2218pub const offset: u32 = 4;
2219pub const mask: u32 = 0x03 << offset;
2220pub mod R {}
2221pub mod W {}
2222pub mod RW {}
2223 }
2224#[doc = "Reserved."]
2225pub mod RSVD0 {
2226pub const offset: u32 = 6;
2227pub const mask: u32 = 0x03 << offset;
2228pub mod R {}
2229pub mod W {}
2230pub mod RW {}
2231 }
2232#[doc = "Delay in between the end of transmit to the beginning of receive"]
2233pub mod TX2RXCOUNT {
2234pub const offset: u32 = 8;
2235pub const mask: u32 = 0x0f << offset;
2236pub mod R {}
2237pub mod W {}
2238pub mod RW {}
2239 }
2240#[doc = "Set this bit to allow a countdown to transition in between TX and RX."]
2241pub mod ENTX2RXCOUNT {
2242pub const offset: u32 = 12;
2243pub const mask: u32 = 0x01 << offset;
2244pub mod R {}
2245pub mod W {}
2246pub mod RW {}
2247 }
2248#[doc = "Reserved."]
2249pub mod RSVD1 {
2250pub const offset: u32 = 13;
2251pub const mask: u32 = 0x07 << offset;
2252pub mod R {}
2253pub mod W {}
2254pub mod RW {}
2255 }
2256#[doc = "Delay in between the detection of squelch to the reset of high-speed RX."]
2257pub mod SQUELCHRESETCOUNT {
2258pub const offset: u32 = 16;
2259pub const mask: u32 = 0x1f << offset;
2260pub mod R {}
2261pub mod W {}
2262pub mod RW {}
2263 }
2264#[doc = "Reserved."]
2265pub mod RSVD2 {
2266pub const offset: u32 = 21;
2267pub const mask: u32 = 0x07 << offset;
2268pub mod R {}
2269pub mod W {}
2270pub mod RW {}
2271 }
2272#[doc = "Set bit to allow squelch to reset high-speed receive."]
2273pub mod ENSQUELCHRESET {
2274pub const offset: u32 = 24;
2275pub const mask: u32 = 0x01 << offset;
2276pub mod R {}
2277pub mod W {}
2278pub mod RW {}
2279 }
2280#[doc = "Duration of RESET in terms of the number of 480-MHz cycles."]
2281pub mod SQUELCHRESETLENGTH {
2282pub const offset: u32 = 25;
2283pub const mask: u32 = 0x0f << offset;
2284pub mod R {}
2285pub mod W {}
2286pub mod RW {}
2287 }
2288#[doc = "Choose to trigger the host resume SE0 with HOST_FORCE_LS_SE0 = 0 or UTMI_SUSPEND = 1."]
2289pub mod HOST_RESUME_DEBUG {
2290pub const offset: u32 = 29;
2291pub const mask: u32 = 0x01 << offset;
2292pub mod R {}
2293pub mod W {}
2294pub mod RW {}
2295 }
2296#[doc = "Gate Test Clocks"]
2297pub mod CLKGATE {
2298pub const offset: u32 = 30;
2299pub const mask: u32 = 0x01 << offset;
2300pub mod R {}
2301pub mod W {}
2302pub mod RW {}
2303 }
2304#[doc = "Reserved."]
2305pub mod RSVD3 {
2306pub const offset: u32 = 31;
2307pub const mask: u32 = 0x01 << offset;
2308pub mod R {}
2309pub mod W {}
2310pub mod RW {}
2311 }
2312}
2313#[doc = "USB PHY Debug Register"]
2314pub mod DEBUG_TOG {
2315#[doc = "Once OTG ID from USBPHYx_STATUS_OTGID_STATUS, use this to hold the value"]
2316pub mod OTGIDPIOLOCK {
2317pub const offset: u32 = 0;
2318pub const mask: u32 = 0x01 << offset;
2319pub mod R {}
2320pub mod W {}
2321pub mod RW {}
2322 }
2323#[doc = "Use holding registers to assist in timing for external UTMI interface."]
2324pub mod DEBUG_INTERFACE_HOLD {
2325pub const offset: u32 = 1;
2326pub const mask: u32 = 0x01 << offset;
2327pub mod R {}
2328pub mod W {}
2329pub mod RW {}
2330 }
2331#[doc = "Set bit 3 to 1 to pull down 15-KOhm on USB_DP line"]
2332pub mod HSTPULLDOWN {
2333pub const offset: u32 = 2;
2334pub const mask: u32 = 0x03 << offset;
2335pub mod R {}
2336pub mod W {}
2337pub mod RW {}
2338 }
2339#[doc = "Set bit 5 to 1 to override the control of the USB_DP 15-KOhm pulldown"]
2340pub mod ENHSTPULLDOWN {
2341pub const offset: u32 = 4;
2342pub const mask: u32 = 0x03 << offset;
2343pub mod R {}
2344pub mod W {}
2345pub mod RW {}
2346 }
2347#[doc = "Reserved."]
2348pub mod RSVD0 {
2349pub const offset: u32 = 6;
2350pub const mask: u32 = 0x03 << offset;
2351pub mod R {}
2352pub mod W {}
2353pub mod RW {}
2354 }
2355#[doc = "Delay in between the end of transmit to the beginning of receive"]
2356pub mod TX2RXCOUNT {
2357pub const offset: u32 = 8;
2358pub const mask: u32 = 0x0f << offset;
2359pub mod R {}
2360pub mod W {}
2361pub mod RW {}
2362 }
2363#[doc = "Set this bit to allow a countdown to transition in between TX and RX."]
2364pub mod ENTX2RXCOUNT {
2365pub const offset: u32 = 12;
2366pub const mask: u32 = 0x01 << offset;
2367pub mod R {}
2368pub mod W {}
2369pub mod RW {}
2370 }
2371#[doc = "Reserved."]
2372pub mod RSVD1 {
2373pub const offset: u32 = 13;
2374pub const mask: u32 = 0x07 << offset;
2375pub mod R {}
2376pub mod W {}
2377pub mod RW {}
2378 }
2379#[doc = "Delay in between the detection of squelch to the reset of high-speed RX."]
2380pub mod SQUELCHRESETCOUNT {
2381pub const offset: u32 = 16;
2382pub const mask: u32 = 0x1f << offset;
2383pub mod R {}
2384pub mod W {}
2385pub mod RW {}
2386 }
2387#[doc = "Reserved."]
2388pub mod RSVD2 {
2389pub const offset: u32 = 21;
2390pub const mask: u32 = 0x07 << offset;
2391pub mod R {}
2392pub mod W {}
2393pub mod RW {}
2394 }
2395#[doc = "Set bit to allow squelch to reset high-speed receive."]
2396pub mod ENSQUELCHRESET {
2397pub const offset: u32 = 24;
2398pub const mask: u32 = 0x01 << offset;
2399pub mod R {}
2400pub mod W {}
2401pub mod RW {}
2402 }
2403#[doc = "Duration of RESET in terms of the number of 480-MHz cycles."]
2404pub mod SQUELCHRESETLENGTH {
2405pub const offset: u32 = 25;
2406pub const mask: u32 = 0x0f << offset;
2407pub mod R {}
2408pub mod W {}
2409pub mod RW {}
2410 }
2411#[doc = "Choose to trigger the host resume SE0 with HOST_FORCE_LS_SE0 = 0 or UTMI_SUSPEND = 1."]
2412pub mod HOST_RESUME_DEBUG {
2413pub const offset: u32 = 29;
2414pub const mask: u32 = 0x01 << offset;
2415pub mod R {}
2416pub mod W {}
2417pub mod RW {}
2418 }
2419#[doc = "Gate Test Clocks"]
2420pub mod CLKGATE {
2421pub const offset: u32 = 30;
2422pub const mask: u32 = 0x01 << offset;
2423pub mod R {}
2424pub mod W {}
2425pub mod RW {}
2426 }
2427#[doc = "Reserved."]
2428pub mod RSVD3 {
2429pub const offset: u32 = 31;
2430pub const mask: u32 = 0x01 << offset;
2431pub mod R {}
2432pub mod W {}
2433pub mod RW {}
2434 }
2435}
2436#[doc = "UTMI Debug Status Register 0"]
2437pub mod DEBUG0_STATUS {
2438#[doc = "Running count of the failed pseudo-random generator loopback"]
2439pub mod LOOP_BACK_FAIL_COUNT {
2440pub const offset: u32 = 0;
2441pub const mask: u32 = 0xffff << offset;
2442pub mod R {}
2443pub mod W {}
2444pub mod RW {}
2445 }
2446#[doc = "Running count of the UTMI_RXERROR."]
2447pub mod UTMI_RXERROR_FAIL_COUNT {
2448pub const offset: u32 = 16;
2449pub const mask: u32 = 0x03ff << offset;
2450pub mod R {}
2451pub mod W {}
2452pub mod RW {}
2453 }
2454#[doc = "Running count of the squelch reset instead of normal end for HS RX."]
2455pub mod SQUELCH_COUNT {
2456pub const offset: u32 = 26;
2457pub const mask: u32 = 0x3f << offset;
2458pub mod R {}
2459pub mod W {}
2460pub mod RW {}
2461 }
2462}
2463#[doc = "UTMI Debug Status Register 1"]
2464pub mod DEBUG1 {
2465#[doc = "Reserved. Note: This bit should remain clear."]
2466pub mod RSVD0 {
2467pub const offset: u32 = 0;
2468pub const mask: u32 = 0x1fff << offset;
2469pub mod R {}
2470pub mod W {}
2471pub mod RW {}
2472 }
2473#[doc = "Delay increment of the rise of squelch: 00 = Delay is nominal 01 = Delay is +20% 10 = Delay is -20% 11 = Delay is -40%"]
2474pub mod ENTAILADJVD {
2475pub const offset: u32 = 13;
2476pub const mask: u32 = 0x03 << offset;
2477pub mod R {}
2478pub mod W {}
2479pub mod RW {}
2480 }
2481#[doc = "Reserved."]
2482pub mod RSVD1 {
2483pub const offset: u32 = 15;
2484pub const mask: u32 = 0x0001_ffff << offset;
2485pub mod R {}
2486pub mod W {}
2487pub mod RW {}
2488 }
2489}
2490#[doc = "UTMI Debug Status Register 1"]
2491pub mod DEBUG1_SET {
2492#[doc = "Reserved. Note: This bit should remain clear."]
2493pub mod RSVD0 {
2494pub const offset: u32 = 0;
2495pub const mask: u32 = 0x1fff << offset;
2496pub mod R {}
2497pub mod W {}
2498pub mod RW {}
2499 }
2500#[doc = "Delay increment of the rise of squelch: 00 = Delay is nominal 01 = Delay is +20% 10 = Delay is -20% 11 = Delay is -40%"]
2501pub mod ENTAILADJVD {
2502pub const offset: u32 = 13;
2503pub const mask: u32 = 0x03 << offset;
2504pub mod R {}
2505pub mod W {}
2506pub mod RW {}
2507 }
2508#[doc = "Reserved."]
2509pub mod RSVD1 {
2510pub const offset: u32 = 15;
2511pub const mask: u32 = 0x0001_ffff << offset;
2512pub mod R {}
2513pub mod W {}
2514pub mod RW {}
2515 }
2516}
2517#[doc = "UTMI Debug Status Register 1"]
2518pub mod DEBUG1_CLR {
2519#[doc = "Reserved. Note: This bit should remain clear."]
2520pub mod RSVD0 {
2521pub const offset: u32 = 0;
2522pub const mask: u32 = 0x1fff << offset;
2523pub mod R {}
2524pub mod W {}
2525pub mod RW {}
2526 }
2527#[doc = "Delay increment of the rise of squelch: 00 = Delay is nominal 01 = Delay is +20% 10 = Delay is -20% 11 = Delay is -40%"]
2528pub mod ENTAILADJVD {
2529pub const offset: u32 = 13;
2530pub const mask: u32 = 0x03 << offset;
2531pub mod R {}
2532pub mod W {}
2533pub mod RW {}
2534 }
2535#[doc = "Reserved."]
2536pub mod RSVD1 {
2537pub const offset: u32 = 15;
2538pub const mask: u32 = 0x0001_ffff << offset;
2539pub mod R {}
2540pub mod W {}
2541pub mod RW {}
2542 }
2543}
2544#[doc = "UTMI Debug Status Register 1"]
2545pub mod DEBUG1_TOG {
2546#[doc = "Reserved. Note: This bit should remain clear."]
2547pub mod RSVD0 {
2548pub const offset: u32 = 0;
2549pub const mask: u32 = 0x1fff << offset;
2550pub mod R {}
2551pub mod W {}
2552pub mod RW {}
2553 }
2554#[doc = "Delay increment of the rise of squelch: 00 = Delay is nominal 01 = Delay is +20% 10 = Delay is -20% 11 = Delay is -40%"]
2555pub mod ENTAILADJVD {
2556pub const offset: u32 = 13;
2557pub const mask: u32 = 0x03 << offset;
2558pub mod R {}
2559pub mod W {}
2560pub mod RW {}
2561 }
2562#[doc = "Reserved."]
2563pub mod RSVD1 {
2564pub const offset: u32 = 15;
2565pub const mask: u32 = 0x0001_ffff << offset;
2566pub mod R {}
2567pub mod W {}
2568pub mod RW {}
2569 }
2570}
2571#[doc = "UTMI RTL Version"]
2572pub mod VERSION {
2573#[doc = "Fixed read-only value reflecting the stepping of the RTL version."]
2574pub mod STEP {
2575pub const offset: u32 = 0;
2576pub const mask: u32 = 0xffff << offset;
2577pub mod R {}
2578pub mod W {}
2579pub mod RW {}
2580 }
2581#[doc = "Fixed read-only value reflecting the MINOR field of the RTL version."]
2582pub mod MINOR {
2583pub const offset: u32 = 16;
2584pub const mask: u32 = 0xff << offset;
2585pub mod R {}
2586pub mod W {}
2587pub mod RW {}
2588 }
2589#[doc = "Fixed read-only value reflecting the MAJOR field of the RTL version."]
2590pub mod MAJOR {
2591pub const offset: u32 = 24;
2592pub const mask: u32 = 0xff << offset;
2593pub mod R {}
2594pub mod W {}
2595pub mod RW {}
2596 }
2597}