imxrt_ral/blocks/imxrt1061/
usb_analog.rs

1#[doc = "USB Analog"]
2#[repr(C)]
3pub struct RegisterBlock {
4    _reserved0: [u8; 0x01a0],
5    #[doc = "USB VBUS Detect Register"]
6    pub USB1_VBUS_DETECT: crate::RWRegister<u32>,
7    #[doc = "USB VBUS Detect Register"]
8    pub USB1_VBUS_DETECT_SET: crate::RWRegister<u32>,
9    #[doc = "USB VBUS Detect Register"]
10    pub USB1_VBUS_DETECT_CLR: crate::RWRegister<u32>,
11    #[doc = "USB VBUS Detect Register"]
12    pub USB1_VBUS_DETECT_TOG: crate::RWRegister<u32>,
13    #[doc = "USB Charger Detect Register"]
14    pub USB1_CHRG_DETECT: crate::RWRegister<u32>,
15    #[doc = "USB Charger Detect Register"]
16    pub USB1_CHRG_DETECT_SET: crate::RWRegister<u32>,
17    #[doc = "USB Charger Detect Register"]
18    pub USB1_CHRG_DETECT_CLR: crate::RWRegister<u32>,
19    #[doc = "USB Charger Detect Register"]
20    pub USB1_CHRG_DETECT_TOG: crate::RWRegister<u32>,
21    #[doc = "USB VBUS Detect Status Register"]
22    pub USB1_VBUS_DETECT_STAT: crate::RORegister<u32>,
23    _reserved1: [u8; 0x0c],
24    #[doc = "USB Charger Detect Status Register"]
25    pub USB1_CHRG_DETECT_STAT: crate::RORegister<u32>,
26    _reserved2: [u8; 0x0c],
27    #[doc = "USB Loopback Test Register"]
28    pub USB1_LOOPBACK: crate::RWRegister<u32>,
29    #[doc = "USB Loopback Test Register"]
30    pub USB1_LOOPBACK_SET: crate::RWRegister<u32>,
31    #[doc = "USB Loopback Test Register"]
32    pub USB1_LOOPBACK_CLR: crate::RWRegister<u32>,
33    #[doc = "USB Loopback Test Register"]
34    pub USB1_LOOPBACK_TOG: crate::RWRegister<u32>,
35    #[doc = "USB Misc Register"]
36    pub USB1_MISC: crate::RWRegister<u32>,
37    #[doc = "USB Misc Register"]
38    pub USB1_MISC_SET: crate::RWRegister<u32>,
39    #[doc = "USB Misc Register"]
40    pub USB1_MISC_CLR: crate::RWRegister<u32>,
41    #[doc = "USB Misc Register"]
42    pub USB1_MISC_TOG: crate::RWRegister<u32>,
43    #[doc = "USB VBUS Detect Register"]
44    pub USB2_VBUS_DETECT: crate::RWRegister<u32>,
45    #[doc = "USB VBUS Detect Register"]
46    pub USB2_VBUS_DETECT_SET: crate::RWRegister<u32>,
47    #[doc = "USB VBUS Detect Register"]
48    pub USB2_VBUS_DETECT_CLR: crate::RWRegister<u32>,
49    #[doc = "USB VBUS Detect Register"]
50    pub USB2_VBUS_DETECT_TOG: crate::RWRegister<u32>,
51    #[doc = "USB Charger Detect Register"]
52    pub USB2_CHRG_DETECT: crate::RWRegister<u32>,
53    #[doc = "USB Charger Detect Register"]
54    pub USB2_CHRG_DETECT_SET: crate::RWRegister<u32>,
55    #[doc = "USB Charger Detect Register"]
56    pub USB2_CHRG_DETECT_CLR: crate::RWRegister<u32>,
57    #[doc = "USB Charger Detect Register"]
58    pub USB2_CHRG_DETECT_TOG: crate::RWRegister<u32>,
59    #[doc = "USB VBUS Detect Status Register"]
60    pub USB2_VBUS_DETECT_STAT: crate::RORegister<u32>,
61    _reserved3: [u8; 0x0c],
62    #[doc = "USB Charger Detect Status Register"]
63    pub USB2_CHRG_DETECT_STAT: crate::RORegister<u32>,
64    _reserved4: [u8; 0x0c],
65    #[doc = "USB Loopback Test Register"]
66    pub USB2_LOOPBACK: crate::RWRegister<u32>,
67    #[doc = "USB Loopback Test Register"]
68    pub USB2_LOOPBACK_SET: crate::RWRegister<u32>,
69    #[doc = "USB Loopback Test Register"]
70    pub USB2_LOOPBACK_CLR: crate::RWRegister<u32>,
71    #[doc = "USB Loopback Test Register"]
72    pub USB2_LOOPBACK_TOG: crate::RWRegister<u32>,
73    #[doc = "USB Misc Register"]
74    pub USB2_MISC: crate::RWRegister<u32>,
75    #[doc = "USB Misc Register"]
76    pub USB2_MISC_SET: crate::RWRegister<u32>,
77    #[doc = "USB Misc Register"]
78    pub USB2_MISC_CLR: crate::RWRegister<u32>,
79    #[doc = "USB Misc Register"]
80    pub USB2_MISC_TOG: crate::RWRegister<u32>,
81    #[doc = "Chip Silicon Version"]
82    pub DIGPROG: crate::RORegister<u32>,
83}
84#[doc = "USB VBUS Detect Register"]
85pub mod USB1_VBUS_DETECT {
86    #[doc = "Set the threshold for the VBUSVALID comparator"]
87    pub mod VBUSVALID_THRESH {
88        pub const offset: u32 = 0;
89        pub const mask: u32 = 0x07 << offset;
90        pub mod R {}
91        pub mod W {}
92        pub mod RW {
93            #[doc = "4.0V"]
94            pub const _4V0: u32 = 0;
95            #[doc = "4.1V"]
96            pub const _4V1: u32 = 0x01;
97            #[doc = "4.2V"]
98            pub const _4V2: u32 = 0x02;
99            #[doc = "4.3V"]
100            pub const _4V3: u32 = 0x03;
101            #[doc = "4.4V (default)"]
102            pub const _4V4: u32 = 0x04;
103            #[doc = "4.5V"]
104            pub const _4V5: u32 = 0x05;
105            #[doc = "4.6V"]
106            pub const _4V6: u32 = 0x06;
107            #[doc = "4.7V"]
108            pub const _4V7: u32 = 0x07;
109        }
110    }
111    #[doc = "Powers up comparators for vbus_valid detector."]
112    pub mod VBUSVALID_PWRUP_CMPS {
113        pub const offset: u32 = 20;
114        pub const mask: u32 = 0x01 << offset;
115        pub mod R {}
116        pub mod W {}
117        pub mod RW {}
118    }
119    #[doc = "USB OTG discharge VBUS."]
120    pub mod DISCHARGE_VBUS {
121        pub const offset: u32 = 26;
122        pub const mask: u32 = 0x01 << offset;
123        pub mod R {}
124        pub mod W {}
125        pub mod RW {}
126    }
127    #[doc = "USB OTG charge VBUS."]
128    pub mod CHARGE_VBUS {
129        pub const offset: u32 = 27;
130        pub const mask: u32 = 0x01 << offset;
131        pub mod R {}
132        pub mod W {}
133        pub mod RW {}
134    }
135}
136#[doc = "USB VBUS Detect Register"]
137pub mod USB1_VBUS_DETECT_SET {
138    #[doc = "Set the threshold for the VBUSVALID comparator"]
139    pub mod VBUSVALID_THRESH {
140        pub const offset: u32 = 0;
141        pub const mask: u32 = 0x07 << offset;
142        pub mod R {}
143        pub mod W {}
144        pub mod RW {
145            #[doc = "4.0V"]
146            pub const _4V0: u32 = 0;
147            #[doc = "4.1V"]
148            pub const _4V1: u32 = 0x01;
149            #[doc = "4.2V"]
150            pub const _4V2: u32 = 0x02;
151            #[doc = "4.3V"]
152            pub const _4V3: u32 = 0x03;
153            #[doc = "4.4V (default)"]
154            pub const _4V4: u32 = 0x04;
155            #[doc = "4.5V"]
156            pub const _4V5: u32 = 0x05;
157            #[doc = "4.6V"]
158            pub const _4V6: u32 = 0x06;
159            #[doc = "4.7V"]
160            pub const _4V7: u32 = 0x07;
161        }
162    }
163    #[doc = "Powers up comparators for vbus_valid detector."]
164    pub mod VBUSVALID_PWRUP_CMPS {
165        pub const offset: u32 = 20;
166        pub const mask: u32 = 0x01 << offset;
167        pub mod R {}
168        pub mod W {}
169        pub mod RW {}
170    }
171    #[doc = "USB OTG discharge VBUS."]
172    pub mod DISCHARGE_VBUS {
173        pub const offset: u32 = 26;
174        pub const mask: u32 = 0x01 << offset;
175        pub mod R {}
176        pub mod W {}
177        pub mod RW {}
178    }
179    #[doc = "USB OTG charge VBUS."]
180    pub mod CHARGE_VBUS {
181        pub const offset: u32 = 27;
182        pub const mask: u32 = 0x01 << offset;
183        pub mod R {}
184        pub mod W {}
185        pub mod RW {}
186    }
187}
188#[doc = "USB VBUS Detect Register"]
189pub mod USB1_VBUS_DETECT_CLR {
190    #[doc = "Set the threshold for the VBUSVALID comparator"]
191    pub mod VBUSVALID_THRESH {
192        pub const offset: u32 = 0;
193        pub const mask: u32 = 0x07 << offset;
194        pub mod R {}
195        pub mod W {}
196        pub mod RW {
197            #[doc = "4.0V"]
198            pub const _4V0: u32 = 0;
199            #[doc = "4.1V"]
200            pub const _4V1: u32 = 0x01;
201            #[doc = "4.2V"]
202            pub const _4V2: u32 = 0x02;
203            #[doc = "4.3V"]
204            pub const _4V3: u32 = 0x03;
205            #[doc = "4.4V (default)"]
206            pub const _4V4: u32 = 0x04;
207            #[doc = "4.5V"]
208            pub const _4V5: u32 = 0x05;
209            #[doc = "4.6V"]
210            pub const _4V6: u32 = 0x06;
211            #[doc = "4.7V"]
212            pub const _4V7: u32 = 0x07;
213        }
214    }
215    #[doc = "Powers up comparators for vbus_valid detector."]
216    pub mod VBUSVALID_PWRUP_CMPS {
217        pub const offset: u32 = 20;
218        pub const mask: u32 = 0x01 << offset;
219        pub mod R {}
220        pub mod W {}
221        pub mod RW {}
222    }
223    #[doc = "USB OTG discharge VBUS."]
224    pub mod DISCHARGE_VBUS {
225        pub const offset: u32 = 26;
226        pub const mask: u32 = 0x01 << offset;
227        pub mod R {}
228        pub mod W {}
229        pub mod RW {}
230    }
231    #[doc = "USB OTG charge VBUS."]
232    pub mod CHARGE_VBUS {
233        pub const offset: u32 = 27;
234        pub const mask: u32 = 0x01 << offset;
235        pub mod R {}
236        pub mod W {}
237        pub mod RW {}
238    }
239}
240#[doc = "USB VBUS Detect Register"]
241pub mod USB1_VBUS_DETECT_TOG {
242    #[doc = "Set the threshold for the VBUSVALID comparator"]
243    pub mod VBUSVALID_THRESH {
244        pub const offset: u32 = 0;
245        pub const mask: u32 = 0x07 << offset;
246        pub mod R {}
247        pub mod W {}
248        pub mod RW {
249            #[doc = "4.0V"]
250            pub const _4V0: u32 = 0;
251            #[doc = "4.1V"]
252            pub const _4V1: u32 = 0x01;
253            #[doc = "4.2V"]
254            pub const _4V2: u32 = 0x02;
255            #[doc = "4.3V"]
256            pub const _4V3: u32 = 0x03;
257            #[doc = "4.4V (default)"]
258            pub const _4V4: u32 = 0x04;
259            #[doc = "4.5V"]
260            pub const _4V5: u32 = 0x05;
261            #[doc = "4.6V"]
262            pub const _4V6: u32 = 0x06;
263            #[doc = "4.7V"]
264            pub const _4V7: u32 = 0x07;
265        }
266    }
267    #[doc = "Powers up comparators for vbus_valid detector."]
268    pub mod VBUSVALID_PWRUP_CMPS {
269        pub const offset: u32 = 20;
270        pub const mask: u32 = 0x01 << offset;
271        pub mod R {}
272        pub mod W {}
273        pub mod RW {}
274    }
275    #[doc = "USB OTG discharge VBUS."]
276    pub mod DISCHARGE_VBUS {
277        pub const offset: u32 = 26;
278        pub const mask: u32 = 0x01 << offset;
279        pub mod R {}
280        pub mod W {}
281        pub mod RW {}
282    }
283    #[doc = "USB OTG charge VBUS."]
284    pub mod CHARGE_VBUS {
285        pub const offset: u32 = 27;
286        pub const mask: u32 = 0x01 << offset;
287        pub mod R {}
288        pub mod W {}
289        pub mod RW {}
290    }
291}
292#[doc = "USB Charger Detect Register"]
293pub mod USB1_CHRG_DETECT {
294    #[doc = "Check the contact of USB plug"]
295    pub mod CHK_CONTACT {
296        pub const offset: u32 = 18;
297        pub const mask: u32 = 0x01 << offset;
298        pub mod R {}
299        pub mod W {}
300        pub mod RW {
301            #[doc = "Do not check the contact of USB plug."]
302            pub const NO_CHECK: u32 = 0;
303            #[doc = "Check whether the USB plug has been in contact with each other"]
304            pub const CHECK: u32 = 0x01;
305        }
306    }
307    #[doc = "Check the charger connection"]
308    pub mod CHK_CHRG_B {
309        pub const offset: u32 = 19;
310        pub const mask: u32 = 0x01 << offset;
311        pub mod R {}
312        pub mod W {}
313        pub mod RW {
314            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
315            pub const CHECK: u32 = 0;
316            #[doc = "Do not check whether a charger is connected to the USB port."]
317            pub const NO_CHECK: u32 = 0x01;
318        }
319    }
320    #[doc = "Control the charger detector."]
321    pub mod EN_B {
322        pub const offset: u32 = 20;
323        pub const mask: u32 = 0x01 << offset;
324        pub mod R {}
325        pub mod W {}
326        pub mod RW {
327            #[doc = "Enable the charger detector."]
328            pub const ENABLE: u32 = 0;
329            #[doc = "Disable the charger detector."]
330            pub const DISABLE: u32 = 0x01;
331        }
332    }
333}
334#[doc = "USB Charger Detect Register"]
335pub mod USB1_CHRG_DETECT_SET {
336    #[doc = "Check the contact of USB plug"]
337    pub mod CHK_CONTACT {
338        pub const offset: u32 = 18;
339        pub const mask: u32 = 0x01 << offset;
340        pub mod R {}
341        pub mod W {}
342        pub mod RW {
343            #[doc = "Do not check the contact of USB plug."]
344            pub const NO_CHECK: u32 = 0;
345            #[doc = "Check whether the USB plug has been in contact with each other"]
346            pub const CHECK: u32 = 0x01;
347        }
348    }
349    #[doc = "Check the charger connection"]
350    pub mod CHK_CHRG_B {
351        pub const offset: u32 = 19;
352        pub const mask: u32 = 0x01 << offset;
353        pub mod R {}
354        pub mod W {}
355        pub mod RW {
356            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
357            pub const CHECK: u32 = 0;
358            #[doc = "Do not check whether a charger is connected to the USB port."]
359            pub const NO_CHECK: u32 = 0x01;
360        }
361    }
362    #[doc = "Control the charger detector."]
363    pub mod EN_B {
364        pub const offset: u32 = 20;
365        pub const mask: u32 = 0x01 << offset;
366        pub mod R {}
367        pub mod W {}
368        pub mod RW {
369            #[doc = "Enable the charger detector."]
370            pub const ENABLE: u32 = 0;
371            #[doc = "Disable the charger detector."]
372            pub const DISABLE: u32 = 0x01;
373        }
374    }
375}
376#[doc = "USB Charger Detect Register"]
377pub mod USB1_CHRG_DETECT_CLR {
378    #[doc = "Check the contact of USB plug"]
379    pub mod CHK_CONTACT {
380        pub const offset: u32 = 18;
381        pub const mask: u32 = 0x01 << offset;
382        pub mod R {}
383        pub mod W {}
384        pub mod RW {
385            #[doc = "Do not check the contact of USB plug."]
386            pub const NO_CHECK: u32 = 0;
387            #[doc = "Check whether the USB plug has been in contact with each other"]
388            pub const CHECK: u32 = 0x01;
389        }
390    }
391    #[doc = "Check the charger connection"]
392    pub mod CHK_CHRG_B {
393        pub const offset: u32 = 19;
394        pub const mask: u32 = 0x01 << offset;
395        pub mod R {}
396        pub mod W {}
397        pub mod RW {
398            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
399            pub const CHECK: u32 = 0;
400            #[doc = "Do not check whether a charger is connected to the USB port."]
401            pub const NO_CHECK: u32 = 0x01;
402        }
403    }
404    #[doc = "Control the charger detector."]
405    pub mod EN_B {
406        pub const offset: u32 = 20;
407        pub const mask: u32 = 0x01 << offset;
408        pub mod R {}
409        pub mod W {}
410        pub mod RW {
411            #[doc = "Enable the charger detector."]
412            pub const ENABLE: u32 = 0;
413            #[doc = "Disable the charger detector."]
414            pub const DISABLE: u32 = 0x01;
415        }
416    }
417}
418#[doc = "USB Charger Detect Register"]
419pub mod USB1_CHRG_DETECT_TOG {
420    #[doc = "Check the contact of USB plug"]
421    pub mod CHK_CONTACT {
422        pub const offset: u32 = 18;
423        pub const mask: u32 = 0x01 << offset;
424        pub mod R {}
425        pub mod W {}
426        pub mod RW {
427            #[doc = "Do not check the contact of USB plug."]
428            pub const NO_CHECK: u32 = 0;
429            #[doc = "Check whether the USB plug has been in contact with each other"]
430            pub const CHECK: u32 = 0x01;
431        }
432    }
433    #[doc = "Check the charger connection"]
434    pub mod CHK_CHRG_B {
435        pub const offset: u32 = 19;
436        pub const mask: u32 = 0x01 << offset;
437        pub mod R {}
438        pub mod W {}
439        pub mod RW {
440            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
441            pub const CHECK: u32 = 0;
442            #[doc = "Do not check whether a charger is connected to the USB port."]
443            pub const NO_CHECK: u32 = 0x01;
444        }
445    }
446    #[doc = "Control the charger detector."]
447    pub mod EN_B {
448        pub const offset: u32 = 20;
449        pub const mask: u32 = 0x01 << offset;
450        pub mod R {}
451        pub mod W {}
452        pub mod RW {
453            #[doc = "Enable the charger detector."]
454            pub const ENABLE: u32 = 0;
455            #[doc = "Disable the charger detector."]
456            pub const DISABLE: u32 = 0x01;
457        }
458    }
459}
460#[doc = "USB VBUS Detect Status Register"]
461pub mod USB1_VBUS_DETECT_STAT {
462    #[doc = "Session End for USB OTG"]
463    pub mod SESSEND {
464        pub const offset: u32 = 0;
465        pub const mask: u32 = 0x01 << offset;
466        pub mod R {}
467        pub mod W {}
468        pub mod RW {}
469    }
470    #[doc = "Indicates VBus is valid for a B-peripheral"]
471    pub mod BVALID {
472        pub const offset: u32 = 1;
473        pub const mask: u32 = 0x01 << offset;
474        pub mod R {}
475        pub mod W {}
476        pub mod RW {}
477    }
478    #[doc = "Indicates VBus is valid for a A-peripheral"]
479    pub mod AVALID {
480        pub const offset: u32 = 2;
481        pub const mask: u32 = 0x01 << offset;
482        pub mod R {}
483        pub mod W {}
484        pub mod RW {}
485    }
486    #[doc = "VBus valid for USB OTG"]
487    pub mod VBUS_VALID {
488        pub const offset: u32 = 3;
489        pub const mask: u32 = 0x01 << offset;
490        pub mod R {}
491        pub mod W {}
492        pub mod RW {}
493    }
494}
495#[doc = "USB Charger Detect Status Register"]
496pub mod USB1_CHRG_DETECT_STAT {
497    #[doc = "State of the USB plug contact detector."]
498    pub mod PLUG_CONTACT {
499        pub const offset: u32 = 0;
500        pub const mask: u32 = 0x01 << offset;
501        pub mod R {}
502        pub mod W {}
503        pub mod RW {
504            #[doc = "The USB plug has not made contact."]
505            pub const NO_CONTACT: u32 = 0;
506            #[doc = "The USB plug has made good contact."]
507            pub const GOOD_CONTACT: u32 = 0x01;
508        }
509    }
510    #[doc = "State of charger detection. This bit is a read only version of the state of the analog signal."]
511    pub mod CHRG_DETECTED {
512        pub const offset: u32 = 1;
513        pub const mask: u32 = 0x01 << offset;
514        pub mod R {}
515        pub mod W {}
516        pub mod RW {
517            #[doc = "The USB port is not connected to a charger."]
518            pub const CHARGER_NOT_PRESENT: u32 = 0;
519            #[doc = "A charger (either a dedicated charger or a host charger) is connected to the USB port."]
520            pub const CHARGER_PRESENT: u32 = 0x01;
521        }
522    }
523    #[doc = "DM line state output of the charger detector."]
524    pub mod DM_STATE {
525        pub const offset: u32 = 2;
526        pub const mask: u32 = 0x01 << offset;
527        pub mod R {}
528        pub mod W {}
529        pub mod RW {}
530    }
531    #[doc = "DP line state output of the charger detector."]
532    pub mod DP_STATE {
533        pub const offset: u32 = 3;
534        pub const mask: u32 = 0x01 << offset;
535        pub mod R {}
536        pub mod W {}
537        pub mod RW {}
538    }
539}
540#[doc = "USB Loopback Test Register"]
541pub mod USB1_LOOPBACK {
542    #[doc = "Setting this bit can enable 1"]
543    pub mod UTMI_TESTSTART {
544        pub const offset: u32 = 0;
545        pub const mask: u32 = 0x01 << offset;
546        pub mod R {}
547        pub mod W {}
548        pub mod RW {}
549    }
550}
551#[doc = "USB Loopback Test Register"]
552pub mod USB1_LOOPBACK_SET {
553    #[doc = "Setting this bit can enable 1"]
554    pub mod UTMI_TESTSTART {
555        pub const offset: u32 = 0;
556        pub const mask: u32 = 0x01 << offset;
557        pub mod R {}
558        pub mod W {}
559        pub mod RW {}
560    }
561}
562#[doc = "USB Loopback Test Register"]
563pub mod USB1_LOOPBACK_CLR {
564    #[doc = "Setting this bit can enable 1"]
565    pub mod UTMI_TESTSTART {
566        pub const offset: u32 = 0;
567        pub const mask: u32 = 0x01 << offset;
568        pub mod R {}
569        pub mod W {}
570        pub mod RW {}
571    }
572}
573#[doc = "USB Loopback Test Register"]
574pub mod USB1_LOOPBACK_TOG {
575    #[doc = "Setting this bit can enable 1"]
576    pub mod UTMI_TESTSTART {
577        pub const offset: u32 = 0;
578        pub const mask: u32 = 0x01 << offset;
579        pub mod R {}
580        pub mod W {}
581        pub mod RW {}
582    }
583}
584#[doc = "USB Misc Register"]
585pub mod USB1_MISC {
586    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
587    pub mod HS_USE_EXTERNAL_R {
588        pub const offset: u32 = 0;
589        pub const mask: u32 = 0x01 << offset;
590        pub mod R {}
591        pub mod W {}
592        pub mod RW {}
593    }
594    #[doc = "Enable the deglitching circuit of the USB PLL output."]
595    pub mod EN_DEGLITCH {
596        pub const offset: u32 = 1;
597        pub const mask: u32 = 0x01 << offset;
598        pub mod R {}
599        pub mod W {}
600        pub mod RW {}
601    }
602    #[doc = "Enables the clk to the UTMI block."]
603    pub mod EN_CLK_UTMI {
604        pub const offset: u32 = 30;
605        pub const mask: u32 = 0x01 << offset;
606        pub mod R {}
607        pub mod W {}
608        pub mod RW {}
609    }
610}
611#[doc = "USB Misc Register"]
612pub mod USB1_MISC_SET {
613    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
614    pub mod HS_USE_EXTERNAL_R {
615        pub const offset: u32 = 0;
616        pub const mask: u32 = 0x01 << offset;
617        pub mod R {}
618        pub mod W {}
619        pub mod RW {}
620    }
621    #[doc = "Enable the deglitching circuit of the USB PLL output."]
622    pub mod EN_DEGLITCH {
623        pub const offset: u32 = 1;
624        pub const mask: u32 = 0x01 << offset;
625        pub mod R {}
626        pub mod W {}
627        pub mod RW {}
628    }
629    #[doc = "Enables the clk to the UTMI block."]
630    pub mod EN_CLK_UTMI {
631        pub const offset: u32 = 30;
632        pub const mask: u32 = 0x01 << offset;
633        pub mod R {}
634        pub mod W {}
635        pub mod RW {}
636    }
637}
638#[doc = "USB Misc Register"]
639pub mod USB1_MISC_CLR {
640    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
641    pub mod HS_USE_EXTERNAL_R {
642        pub const offset: u32 = 0;
643        pub const mask: u32 = 0x01 << offset;
644        pub mod R {}
645        pub mod W {}
646        pub mod RW {}
647    }
648    #[doc = "Enable the deglitching circuit of the USB PLL output."]
649    pub mod EN_DEGLITCH {
650        pub const offset: u32 = 1;
651        pub const mask: u32 = 0x01 << offset;
652        pub mod R {}
653        pub mod W {}
654        pub mod RW {}
655    }
656    #[doc = "Enables the clk to the UTMI block."]
657    pub mod EN_CLK_UTMI {
658        pub const offset: u32 = 30;
659        pub const mask: u32 = 0x01 << offset;
660        pub mod R {}
661        pub mod W {}
662        pub mod RW {}
663    }
664}
665#[doc = "USB Misc Register"]
666pub mod USB1_MISC_TOG {
667    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
668    pub mod HS_USE_EXTERNAL_R {
669        pub const offset: u32 = 0;
670        pub const mask: u32 = 0x01 << offset;
671        pub mod R {}
672        pub mod W {}
673        pub mod RW {}
674    }
675    #[doc = "Enable the deglitching circuit of the USB PLL output."]
676    pub mod EN_DEGLITCH {
677        pub const offset: u32 = 1;
678        pub const mask: u32 = 0x01 << offset;
679        pub mod R {}
680        pub mod W {}
681        pub mod RW {}
682    }
683    #[doc = "Enables the clk to the UTMI block."]
684    pub mod EN_CLK_UTMI {
685        pub const offset: u32 = 30;
686        pub const mask: u32 = 0x01 << offset;
687        pub mod R {}
688        pub mod W {}
689        pub mod RW {}
690    }
691}
692#[doc = "USB VBUS Detect Register"]
693pub mod USB2_VBUS_DETECT {
694    #[doc = "Set the threshold for the VBUSVALID comparator"]
695    pub mod VBUSVALID_THRESH {
696        pub const offset: u32 = 0;
697        pub const mask: u32 = 0x07 << offset;
698        pub mod R {}
699        pub mod W {}
700        pub mod RW {
701            #[doc = "4.0V"]
702            pub const _4V0: u32 = 0;
703            #[doc = "4.1V"]
704            pub const _4V1: u32 = 0x01;
705            #[doc = "4.2V"]
706            pub const _4V2: u32 = 0x02;
707            #[doc = "4.3V"]
708            pub const _4V3: u32 = 0x03;
709            #[doc = "4.4V (default)"]
710            pub const _4V4: u32 = 0x04;
711            #[doc = "4.5V"]
712            pub const _4V5: u32 = 0x05;
713            #[doc = "4.6V"]
714            pub const _4V6: u32 = 0x06;
715            #[doc = "4.7V"]
716            pub const _4V7: u32 = 0x07;
717        }
718    }
719    #[doc = "Powers up comparators for vbus_valid detector."]
720    pub mod VBUSVALID_PWRUP_CMPS {
721        pub const offset: u32 = 20;
722        pub const mask: u32 = 0x01 << offset;
723        pub mod R {}
724        pub mod W {}
725        pub mod RW {}
726    }
727    #[doc = "USB OTG discharge VBUS."]
728    pub mod DISCHARGE_VBUS {
729        pub const offset: u32 = 26;
730        pub const mask: u32 = 0x01 << offset;
731        pub mod R {}
732        pub mod W {}
733        pub mod RW {}
734    }
735    #[doc = "USB OTG charge VBUS."]
736    pub mod CHARGE_VBUS {
737        pub const offset: u32 = 27;
738        pub const mask: u32 = 0x01 << offset;
739        pub mod R {}
740        pub mod W {}
741        pub mod RW {}
742    }
743}
744#[doc = "USB VBUS Detect Register"]
745pub mod USB2_VBUS_DETECT_SET {
746    #[doc = "Set the threshold for the VBUSVALID comparator"]
747    pub mod VBUSVALID_THRESH {
748        pub const offset: u32 = 0;
749        pub const mask: u32 = 0x07 << offset;
750        pub mod R {}
751        pub mod W {}
752        pub mod RW {
753            #[doc = "4.0V"]
754            pub const _4V0: u32 = 0;
755            #[doc = "4.1V"]
756            pub const _4V1: u32 = 0x01;
757            #[doc = "4.2V"]
758            pub const _4V2: u32 = 0x02;
759            #[doc = "4.3V"]
760            pub const _4V3: u32 = 0x03;
761            #[doc = "4.4V (default)"]
762            pub const _4V4: u32 = 0x04;
763            #[doc = "4.5V"]
764            pub const _4V5: u32 = 0x05;
765            #[doc = "4.6V"]
766            pub const _4V6: u32 = 0x06;
767            #[doc = "4.7V"]
768            pub const _4V7: u32 = 0x07;
769        }
770    }
771    #[doc = "Powers up comparators for vbus_valid detector."]
772    pub mod VBUSVALID_PWRUP_CMPS {
773        pub const offset: u32 = 20;
774        pub const mask: u32 = 0x01 << offset;
775        pub mod R {}
776        pub mod W {}
777        pub mod RW {}
778    }
779    #[doc = "USB OTG discharge VBUS."]
780    pub mod DISCHARGE_VBUS {
781        pub const offset: u32 = 26;
782        pub const mask: u32 = 0x01 << offset;
783        pub mod R {}
784        pub mod W {}
785        pub mod RW {}
786    }
787    #[doc = "USB OTG charge VBUS."]
788    pub mod CHARGE_VBUS {
789        pub const offset: u32 = 27;
790        pub const mask: u32 = 0x01 << offset;
791        pub mod R {}
792        pub mod W {}
793        pub mod RW {}
794    }
795}
796#[doc = "USB VBUS Detect Register"]
797pub mod USB2_VBUS_DETECT_CLR {
798    #[doc = "Set the threshold for the VBUSVALID comparator"]
799    pub mod VBUSVALID_THRESH {
800        pub const offset: u32 = 0;
801        pub const mask: u32 = 0x07 << offset;
802        pub mod R {}
803        pub mod W {}
804        pub mod RW {
805            #[doc = "4.0V"]
806            pub const _4V0: u32 = 0;
807            #[doc = "4.1V"]
808            pub const _4V1: u32 = 0x01;
809            #[doc = "4.2V"]
810            pub const _4V2: u32 = 0x02;
811            #[doc = "4.3V"]
812            pub const _4V3: u32 = 0x03;
813            #[doc = "4.4V (default)"]
814            pub const _4V4: u32 = 0x04;
815            #[doc = "4.5V"]
816            pub const _4V5: u32 = 0x05;
817            #[doc = "4.6V"]
818            pub const _4V6: u32 = 0x06;
819            #[doc = "4.7V"]
820            pub const _4V7: u32 = 0x07;
821        }
822    }
823    #[doc = "Powers up comparators for vbus_valid detector."]
824    pub mod VBUSVALID_PWRUP_CMPS {
825        pub const offset: u32 = 20;
826        pub const mask: u32 = 0x01 << offset;
827        pub mod R {}
828        pub mod W {}
829        pub mod RW {}
830    }
831    #[doc = "USB OTG discharge VBUS."]
832    pub mod DISCHARGE_VBUS {
833        pub const offset: u32 = 26;
834        pub const mask: u32 = 0x01 << offset;
835        pub mod R {}
836        pub mod W {}
837        pub mod RW {}
838    }
839    #[doc = "USB OTG charge VBUS."]
840    pub mod CHARGE_VBUS {
841        pub const offset: u32 = 27;
842        pub const mask: u32 = 0x01 << offset;
843        pub mod R {}
844        pub mod W {}
845        pub mod RW {}
846    }
847}
848#[doc = "USB VBUS Detect Register"]
849pub mod USB2_VBUS_DETECT_TOG {
850    #[doc = "Set the threshold for the VBUSVALID comparator"]
851    pub mod VBUSVALID_THRESH {
852        pub const offset: u32 = 0;
853        pub const mask: u32 = 0x07 << offset;
854        pub mod R {}
855        pub mod W {}
856        pub mod RW {
857            #[doc = "4.0V"]
858            pub const _4V0: u32 = 0;
859            #[doc = "4.1V"]
860            pub const _4V1: u32 = 0x01;
861            #[doc = "4.2V"]
862            pub const _4V2: u32 = 0x02;
863            #[doc = "4.3V"]
864            pub const _4V3: u32 = 0x03;
865            #[doc = "4.4V (default)"]
866            pub const _4V4: u32 = 0x04;
867            #[doc = "4.5V"]
868            pub const _4V5: u32 = 0x05;
869            #[doc = "4.6V"]
870            pub const _4V6: u32 = 0x06;
871            #[doc = "4.7V"]
872            pub const _4V7: u32 = 0x07;
873        }
874    }
875    #[doc = "Powers up comparators for vbus_valid detector."]
876    pub mod VBUSVALID_PWRUP_CMPS {
877        pub const offset: u32 = 20;
878        pub const mask: u32 = 0x01 << offset;
879        pub mod R {}
880        pub mod W {}
881        pub mod RW {}
882    }
883    #[doc = "USB OTG discharge VBUS."]
884    pub mod DISCHARGE_VBUS {
885        pub const offset: u32 = 26;
886        pub const mask: u32 = 0x01 << offset;
887        pub mod R {}
888        pub mod W {}
889        pub mod RW {}
890    }
891    #[doc = "USB OTG charge VBUS."]
892    pub mod CHARGE_VBUS {
893        pub const offset: u32 = 27;
894        pub const mask: u32 = 0x01 << offset;
895        pub mod R {}
896        pub mod W {}
897        pub mod RW {}
898    }
899}
900#[doc = "USB Charger Detect Register"]
901pub mod USB2_CHRG_DETECT {
902    #[doc = "Check the contact of USB plug"]
903    pub mod CHK_CONTACT {
904        pub const offset: u32 = 18;
905        pub const mask: u32 = 0x01 << offset;
906        pub mod R {}
907        pub mod W {}
908        pub mod RW {
909            #[doc = "Do not check the contact of USB plug."]
910            pub const NO_CHECK: u32 = 0;
911            #[doc = "Check whether the USB plug has been in contact with each other"]
912            pub const CHECK: u32 = 0x01;
913        }
914    }
915    #[doc = "Check the charger connection"]
916    pub mod CHK_CHRG_B {
917        pub const offset: u32 = 19;
918        pub const mask: u32 = 0x01 << offset;
919        pub mod R {}
920        pub mod W {}
921        pub mod RW {
922            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
923            pub const CHECK: u32 = 0;
924            #[doc = "Do not check whether a charger is connected to the USB port."]
925            pub const NO_CHECK: u32 = 0x01;
926        }
927    }
928    #[doc = "Control the charger detector."]
929    pub mod EN_B {
930        pub const offset: u32 = 20;
931        pub const mask: u32 = 0x01 << offset;
932        pub mod R {}
933        pub mod W {}
934        pub mod RW {
935            #[doc = "Enable the charger detector."]
936            pub const ENABLE: u32 = 0;
937            #[doc = "Disable the charger detector."]
938            pub const DISABLE: u32 = 0x01;
939        }
940    }
941}
942#[doc = "USB Charger Detect Register"]
943pub mod USB2_CHRG_DETECT_SET {
944    #[doc = "Check the contact of USB plug"]
945    pub mod CHK_CONTACT {
946        pub const offset: u32 = 18;
947        pub const mask: u32 = 0x01 << offset;
948        pub mod R {}
949        pub mod W {}
950        pub mod RW {
951            #[doc = "Do not check the contact of USB plug."]
952            pub const NO_CHECK: u32 = 0;
953            #[doc = "Check whether the USB plug has been in contact with each other"]
954            pub const CHECK: u32 = 0x01;
955        }
956    }
957    #[doc = "Check the charger connection"]
958    pub mod CHK_CHRG_B {
959        pub const offset: u32 = 19;
960        pub const mask: u32 = 0x01 << offset;
961        pub mod R {}
962        pub mod W {}
963        pub mod RW {
964            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
965            pub const CHECK: u32 = 0;
966            #[doc = "Do not check whether a charger is connected to the USB port."]
967            pub const NO_CHECK: u32 = 0x01;
968        }
969    }
970    #[doc = "Control the charger detector."]
971    pub mod EN_B {
972        pub const offset: u32 = 20;
973        pub const mask: u32 = 0x01 << offset;
974        pub mod R {}
975        pub mod W {}
976        pub mod RW {
977            #[doc = "Enable the charger detector."]
978            pub const ENABLE: u32 = 0;
979            #[doc = "Disable the charger detector."]
980            pub const DISABLE: u32 = 0x01;
981        }
982    }
983}
984#[doc = "USB Charger Detect Register"]
985pub mod USB2_CHRG_DETECT_CLR {
986    #[doc = "Check the contact of USB plug"]
987    pub mod CHK_CONTACT {
988        pub const offset: u32 = 18;
989        pub const mask: u32 = 0x01 << offset;
990        pub mod R {}
991        pub mod W {}
992        pub mod RW {
993            #[doc = "Do not check the contact of USB plug."]
994            pub const NO_CHECK: u32 = 0;
995            #[doc = "Check whether the USB plug has been in contact with each other"]
996            pub const CHECK: u32 = 0x01;
997        }
998    }
999    #[doc = "Check the charger connection"]
1000    pub mod CHK_CHRG_B {
1001        pub const offset: u32 = 19;
1002        pub const mask: u32 = 0x01 << offset;
1003        pub mod R {}
1004        pub mod W {}
1005        pub mod RW {
1006            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
1007            pub const CHECK: u32 = 0;
1008            #[doc = "Do not check whether a charger is connected to the USB port."]
1009            pub const NO_CHECK: u32 = 0x01;
1010        }
1011    }
1012    #[doc = "Control the charger detector."]
1013    pub mod EN_B {
1014        pub const offset: u32 = 20;
1015        pub const mask: u32 = 0x01 << offset;
1016        pub mod R {}
1017        pub mod W {}
1018        pub mod RW {
1019            #[doc = "Enable the charger detector."]
1020            pub const ENABLE: u32 = 0;
1021            #[doc = "Disable the charger detector."]
1022            pub const DISABLE: u32 = 0x01;
1023        }
1024    }
1025}
1026#[doc = "USB Charger Detect Register"]
1027pub mod USB2_CHRG_DETECT_TOG {
1028    #[doc = "Check the contact of USB plug"]
1029    pub mod CHK_CONTACT {
1030        pub const offset: u32 = 18;
1031        pub const mask: u32 = 0x01 << offset;
1032        pub mod R {}
1033        pub mod W {}
1034        pub mod RW {
1035            #[doc = "Do not check the contact of USB plug."]
1036            pub const NO_CHECK: u32 = 0;
1037            #[doc = "Check whether the USB plug has been in contact with each other"]
1038            pub const CHECK: u32 = 0x01;
1039        }
1040    }
1041    #[doc = "Check the charger connection"]
1042    pub mod CHK_CHRG_B {
1043        pub const offset: u32 = 19;
1044        pub const mask: u32 = 0x01 << offset;
1045        pub mod R {}
1046        pub mod W {}
1047        pub mod RW {
1048            #[doc = "Check whether a charger (either a dedicated charger or a host charger) is connected to USB port."]
1049            pub const CHECK: u32 = 0;
1050            #[doc = "Do not check whether a charger is connected to the USB port."]
1051            pub const NO_CHECK: u32 = 0x01;
1052        }
1053    }
1054    #[doc = "Control the charger detector."]
1055    pub mod EN_B {
1056        pub const offset: u32 = 20;
1057        pub const mask: u32 = 0x01 << offset;
1058        pub mod R {}
1059        pub mod W {}
1060        pub mod RW {
1061            #[doc = "Enable the charger detector."]
1062            pub const ENABLE: u32 = 0;
1063            #[doc = "Disable the charger detector."]
1064            pub const DISABLE: u32 = 0x01;
1065        }
1066    }
1067}
1068#[doc = "USB VBUS Detect Status Register"]
1069pub mod USB2_VBUS_DETECT_STAT {
1070    #[doc = "Session End for USB OTG"]
1071    pub mod SESSEND {
1072        pub const offset: u32 = 0;
1073        pub const mask: u32 = 0x01 << offset;
1074        pub mod R {}
1075        pub mod W {}
1076        pub mod RW {}
1077    }
1078    #[doc = "Indicates VBus is valid for a B-peripheral"]
1079    pub mod BVALID {
1080        pub const offset: u32 = 1;
1081        pub const mask: u32 = 0x01 << offset;
1082        pub mod R {}
1083        pub mod W {}
1084        pub mod RW {}
1085    }
1086    #[doc = "Indicates VBus is valid for a A-peripheral"]
1087    pub mod AVALID {
1088        pub const offset: u32 = 2;
1089        pub const mask: u32 = 0x01 << offset;
1090        pub mod R {}
1091        pub mod W {}
1092        pub mod RW {}
1093    }
1094    #[doc = "VBus valid for USB OTG"]
1095    pub mod VBUS_VALID {
1096        pub const offset: u32 = 3;
1097        pub const mask: u32 = 0x01 << offset;
1098        pub mod R {}
1099        pub mod W {}
1100        pub mod RW {}
1101    }
1102}
1103#[doc = "USB Charger Detect Status Register"]
1104pub mod USB2_CHRG_DETECT_STAT {
1105    #[doc = "State of the USB plug contact detector."]
1106    pub mod PLUG_CONTACT {
1107        pub const offset: u32 = 0;
1108        pub const mask: u32 = 0x01 << offset;
1109        pub mod R {}
1110        pub mod W {}
1111        pub mod RW {
1112            #[doc = "The USB plug has not made contact."]
1113            pub const NO_CONTACT: u32 = 0;
1114            #[doc = "The USB plug has made good contact."]
1115            pub const GOOD_CONTACT: u32 = 0x01;
1116        }
1117    }
1118    #[doc = "State of charger detection. This bit is a read only version of the state of the analog signal."]
1119    pub mod CHRG_DETECTED {
1120        pub const offset: u32 = 1;
1121        pub const mask: u32 = 0x01 << offset;
1122        pub mod R {}
1123        pub mod W {}
1124        pub mod RW {
1125            #[doc = "The USB port is not connected to a charger."]
1126            pub const CHARGER_NOT_PRESENT: u32 = 0;
1127            #[doc = "A charger (either a dedicated charger or a host charger) is connected to the USB port."]
1128            pub const CHARGER_PRESENT: u32 = 0x01;
1129        }
1130    }
1131    #[doc = "DM line state output of the charger detector."]
1132    pub mod DM_STATE {
1133        pub const offset: u32 = 2;
1134        pub const mask: u32 = 0x01 << offset;
1135        pub mod R {}
1136        pub mod W {}
1137        pub mod RW {}
1138    }
1139    #[doc = "DP line state output of the charger detector."]
1140    pub mod DP_STATE {
1141        pub const offset: u32 = 3;
1142        pub const mask: u32 = 0x01 << offset;
1143        pub mod R {}
1144        pub mod W {}
1145        pub mod RW {}
1146    }
1147}
1148#[doc = "USB Loopback Test Register"]
1149pub mod USB2_LOOPBACK {
1150    #[doc = "Setting this bit can enable 1"]
1151    pub mod UTMI_TESTSTART {
1152        pub const offset: u32 = 0;
1153        pub const mask: u32 = 0x01 << offset;
1154        pub mod R {}
1155        pub mod W {}
1156        pub mod RW {}
1157    }
1158}
1159#[doc = "USB Loopback Test Register"]
1160pub mod USB2_LOOPBACK_SET {
1161    #[doc = "Setting this bit can enable 1"]
1162    pub mod UTMI_TESTSTART {
1163        pub const offset: u32 = 0;
1164        pub const mask: u32 = 0x01 << offset;
1165        pub mod R {}
1166        pub mod W {}
1167        pub mod RW {}
1168    }
1169}
1170#[doc = "USB Loopback Test Register"]
1171pub mod USB2_LOOPBACK_CLR {
1172    #[doc = "Setting this bit can enable 1"]
1173    pub mod UTMI_TESTSTART {
1174        pub const offset: u32 = 0;
1175        pub const mask: u32 = 0x01 << offset;
1176        pub mod R {}
1177        pub mod W {}
1178        pub mod RW {}
1179    }
1180}
1181#[doc = "USB Loopback Test Register"]
1182pub mod USB2_LOOPBACK_TOG {
1183    #[doc = "Setting this bit can enable 1"]
1184    pub mod UTMI_TESTSTART {
1185        pub const offset: u32 = 0;
1186        pub const mask: u32 = 0x01 << offset;
1187        pub mod R {}
1188        pub mod W {}
1189        pub mod RW {}
1190    }
1191}
1192#[doc = "USB Misc Register"]
1193pub mod USB2_MISC {
1194    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
1195    pub mod HS_USE_EXTERNAL_R {
1196        pub const offset: u32 = 0;
1197        pub const mask: u32 = 0x01 << offset;
1198        pub mod R {}
1199        pub mod W {}
1200        pub mod RW {}
1201    }
1202    #[doc = "Enable the deglitching circuit of the USB PLL output."]
1203    pub mod EN_DEGLITCH {
1204        pub const offset: u32 = 1;
1205        pub const mask: u32 = 0x01 << offset;
1206        pub mod R {}
1207        pub mod W {}
1208        pub mod RW {}
1209    }
1210    #[doc = "Enables the clk to the UTMI block."]
1211    pub mod EN_CLK_UTMI {
1212        pub const offset: u32 = 30;
1213        pub const mask: u32 = 0x01 << offset;
1214        pub mod R {}
1215        pub mod W {}
1216        pub mod RW {}
1217    }
1218}
1219#[doc = "USB Misc Register"]
1220pub mod USB2_MISC_SET {
1221    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
1222    pub mod HS_USE_EXTERNAL_R {
1223        pub const offset: u32 = 0;
1224        pub const mask: u32 = 0x01 << offset;
1225        pub mod R {}
1226        pub mod W {}
1227        pub mod RW {}
1228    }
1229    #[doc = "Enable the deglitching circuit of the USB PLL output."]
1230    pub mod EN_DEGLITCH {
1231        pub const offset: u32 = 1;
1232        pub const mask: u32 = 0x01 << offset;
1233        pub mod R {}
1234        pub mod W {}
1235        pub mod RW {}
1236    }
1237    #[doc = "Enables the clk to the UTMI block."]
1238    pub mod EN_CLK_UTMI {
1239        pub const offset: u32 = 30;
1240        pub const mask: u32 = 0x01 << offset;
1241        pub mod R {}
1242        pub mod W {}
1243        pub mod RW {}
1244    }
1245}
1246#[doc = "USB Misc Register"]
1247pub mod USB2_MISC_CLR {
1248    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
1249    pub mod HS_USE_EXTERNAL_R {
1250        pub const offset: u32 = 0;
1251        pub const mask: u32 = 0x01 << offset;
1252        pub mod R {}
1253        pub mod W {}
1254        pub mod RW {}
1255    }
1256    #[doc = "Enable the deglitching circuit of the USB PLL output."]
1257    pub mod EN_DEGLITCH {
1258        pub const offset: u32 = 1;
1259        pub const mask: u32 = 0x01 << offset;
1260        pub mod R {}
1261        pub mod W {}
1262        pub mod RW {}
1263    }
1264    #[doc = "Enables the clk to the UTMI block."]
1265    pub mod EN_CLK_UTMI {
1266        pub const offset: u32 = 30;
1267        pub const mask: u32 = 0x01 << offset;
1268        pub mod R {}
1269        pub mod W {}
1270        pub mod RW {}
1271    }
1272}
1273#[doc = "USB Misc Register"]
1274pub mod USB2_MISC_TOG {
1275    #[doc = "Use external resistor to generate the current bias for the high speed transmitter"]
1276    pub mod HS_USE_EXTERNAL_R {
1277        pub const offset: u32 = 0;
1278        pub const mask: u32 = 0x01 << offset;
1279        pub mod R {}
1280        pub mod W {}
1281        pub mod RW {}
1282    }
1283    #[doc = "Enable the deglitching circuit of the USB PLL output."]
1284    pub mod EN_DEGLITCH {
1285        pub const offset: u32 = 1;
1286        pub const mask: u32 = 0x01 << offset;
1287        pub mod R {}
1288        pub mod W {}
1289        pub mod RW {}
1290    }
1291    #[doc = "Enables the clk to the UTMI block."]
1292    pub mod EN_CLK_UTMI {
1293        pub const offset: u32 = 30;
1294        pub const mask: u32 = 0x01 << offset;
1295        pub mod R {}
1296        pub mod W {}
1297        pub mod RW {}
1298    }
1299}
1300#[doc = "Chip Silicon Version"]
1301pub mod DIGPROG {
1302    #[doc = "Chip silicon revision"]
1303    pub mod SILICON_REVISION {
1304        pub const offset: u32 = 0;
1305        pub const mask: u32 = 0xffff_ffff << offset;
1306        pub mod R {}
1307        pub mod W {}
1308        pub mod RW {
1309            #[doc = "Silicon revision 1.0"]
1310            pub const SILICON_REVISION_7077888: u32 = 0x006c_0000;
1311        }
1312    }
1313}