1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 _reserved0: [u8; 0x04],
5 #[doc = "0x04..0x24 - Description collection\\[n\\]: Captures the EPIN\\[n\\].PTR and EPIN\\[n\\].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host"]
6 pub tasks_startepin: [TASKS_STARTEPIN; 8],
7 #[doc = "0x24 - Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint"]
8 pub tasks_startisoin: TASKS_STARTISOIN,
9 #[doc = "0x28..0x48 - Description collection\\[n\\]: Captures the EPOUT\\[n\\].PTR and EPOUT\\[n\\].MAXCNT registers values, and enables endpoint n to respond to traffic from host"]
10 pub tasks_startepout: [TASKS_STARTEPOUT; 8],
11 #[doc = "0x48 - Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint"]
12 pub tasks_startisoout: TASKS_STARTISOOUT,
13 #[doc = "0x4c - Allows OUT data stage on control endpoint 0"]
14 pub tasks_ep0rcvout: TASKS_EP0RCVOUT,
15 #[doc = "0x50 - Allows status stage on control endpoint 0"]
16 pub tasks_ep0status: TASKS_EP0STATUS,
17 #[doc = "0x54 - Stalls data and status stage on control endpoint 0"]
18 pub tasks_ep0stall: TASKS_EP0STALL,
19 #[doc = "0x58 - Forces D+ and D- lines into the state defined in the DPDMVALUE register"]
20 pub tasks_dpdmdrive: TASKS_DPDMDRIVE,
21 #[doc = "0x5c - Stops forcing D+ and D- lines into any state (USB engine takes control)"]
22 pub tasks_dpdmnodrive: TASKS_DPDMNODRIVE,
23 _reserved9: [u8; 0xa0],
24 #[doc = "0x100 - Signals that a USB reset condition has been detected on USB lines"]
25 pub events_usbreset: EVENTS_USBRESET,
26 #[doc = "0x104 - Confirms that the EPIN\\[n\\].PTR and EPIN\\[n\\].MAXCNT, or EPOUT\\[n\\].PTR and EPOUT\\[n\\].MAXCNT registers have been captured on all endpoints reported in the EPSTATUS register"]
27 pub events_started: EVENTS_STARTED,
28 #[doc = "0x108..0x128 - Description collection\\[n\\]: The whole EPIN\\[n\\]
29buffer has been consumed. The RAM buffer can be accessed safely by software."]
30 pub events_endepin: [EVENTS_ENDEPIN; 8],
31 #[doc = "0x128 - An acknowledged data transfer has taken place on the control endpoint"]
32 pub events_ep0datadone: EVENTS_EP0DATADONE,
33 #[doc = "0x12c - The whole ISOIN buffer has been consumed. The RAM buffer can be accessed safely by software."]
34 pub events_endisoin: EVENTS_ENDISOIN,
35 #[doc = "0x130..0x150 - Description collection\\[n\\]: The whole EPOUT\\[n\\]
36buffer has been consumed. The RAM buffer can be accessed safely by software."]
37 pub events_endepout: [EVENTS_ENDEPOUT; 8],
38 #[doc = "0x150 - The whole ISOOUT buffer has been consumed. The RAM buffer can be accessed safely by software."]
39 pub events_endisoout: EVENTS_ENDISOOUT,
40 #[doc = "0x154 - Signals that a SOF (start of frame) condition has been detected on USB lines"]
41 pub events_sof: EVENTS_SOF,
42 #[doc = "0x158 - An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause."]
43 pub events_usbevent: EVENTS_USBEVENT,
44 #[doc = "0x15c - A valid SETUP token has been received (and acknowledged) on the control endpoint"]
45 pub events_ep0setup: EVENTS_EP0SETUP,
46 #[doc = "0x160 - A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register"]
47 pub events_epdata: EVENTS_EPDATA,
48 _reserved20: [u8; 0x9c],
49 #[doc = "0x200 - Shortcut register"]
50 pub shorts: SHORTS,
51 _reserved21: [u8; 0xfc],
52 #[doc = "0x300 - Enable or disable interrupt"]
53 pub inten: INTEN,
54 #[doc = "0x304 - Enable interrupt"]
55 pub intenset: INTENSET,
56 #[doc = "0x308 - Disable interrupt"]
57 pub intenclr: INTENCLR,
58 _reserved24: [u8; 0xf4],
59 #[doc = "0x400 - Details on what caused the USBEVENT event"]
60 pub eventcause: EVENTCAUSE,
61 _reserved25: [u8; 0x1c],
62 #[doc = "0x420..0x464 - Unspecified"]
63 pub halted: HALTED,
64 _reserved26: [u8; 0x04],
65 #[doc = "0x468 - Provides information on which endpoint's EasyDMA registers have been captured"]
66 pub epstatus: EPSTATUS,
67 #[doc = "0x46c - Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)"]
68 pub epdatastatus: EPDATASTATUS,
69 #[doc = "0x470 - Device USB address"]
70 pub usbaddr: USBADDR,
71 _reserved29: [u8; 0x0c],
72 #[doc = "0x480 - SETUP data, byte 0, bmRequestType"]
73 pub bmrequesttype: BMREQUESTTYPE,
74 #[doc = "0x484 - SETUP data, byte 1, bRequest"]
75 pub brequest: BREQUEST,
76 #[doc = "0x488 - SETUP data, byte 2, LSB of wValue"]
77 pub wvaluel: WVALUEL,
78 #[doc = "0x48c - SETUP data, byte 3, MSB of wValue"]
79 pub wvalueh: WVALUEH,
80 #[doc = "0x490 - SETUP data, byte 4, LSB of wIndex"]
81 pub windexl: WINDEXL,
82 #[doc = "0x494 - SETUP data, byte 5, MSB of wIndex"]
83 pub windexh: WINDEXH,
84 #[doc = "0x498 - SETUP data, byte 6, LSB of wLength"]
85 pub wlengthl: WLENGTHL,
86 #[doc = "0x49c - SETUP data, byte 7, MSB of wLength"]
87 pub wlengthh: WLENGTHH,
88 #[doc = "0x4a0..0x4c4 - Unspecified"]
89 pub size: SIZE,
90 _reserved38: [u8; 0x3c],
91 #[doc = "0x500 - Enable USB"]
92 pub enable: ENABLE,
93 #[doc = "0x504 - Control of the USB pull-up"]
94 pub usbpullup: USBPULLUP,
95 #[doc = "0x508 - State D+ and D- lines will be forced into by the DPDMDRIVE task. The DPDMNODRIVE task reverts the control of the lines to MAC IP (no forcing)."]
96 pub dpdmvalue: DPDMVALUE,
97 #[doc = "0x50c - Data toggle control and status"]
98 pub dtoggle: DTOGGLE,
99 #[doc = "0x510 - Endpoint IN enable"]
100 pub epinen: EPINEN,
101 #[doc = "0x514 - Endpoint OUT enable"]
102 pub epouten: EPOUTEN,
103 #[doc = "0x518 - STALL endpoints"]
104 pub epstall: EPSTALL,
105 #[doc = "0x51c - Controls the split of ISO buffers"]
106 pub isosplit: ISOSPLIT,
107 #[doc = "0x520 - Returns the current value of the start of frame counter"]
108 pub framecntr: FRAMECNTR,
109 _reserved47: [u8; 0x08],
110 #[doc = "0x52c - Controls USBD peripheral low power mode during USB suspend"]
111 pub lowpower: LOWPOWER,
112 #[doc = "0x530 - Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent"]
113 pub isoinconfig: ISOINCONFIG,
114 _reserved49: [u8; 0xcc],
115 #[doc = "0x600..0x60c - Unspecified"]
116 pub epin0: EPIN,
117 _reserved50: [u8; 0x08],
118 #[doc = "0x614..0x620 - Unspecified"]
119 pub epin1: EPIN,
120 _reserved51: [u8; 0x08],
121 #[doc = "0x628..0x634 - Unspecified"]
122 pub epin2: EPIN,
123 _reserved52: [u8; 0x08],
124 #[doc = "0x63c..0x648 - Unspecified"]
125 pub epin3: EPIN,
126 _reserved53: [u8; 0x08],
127 #[doc = "0x650..0x65c - Unspecified"]
128 pub epin4: EPIN,
129 _reserved54: [u8; 0x08],
130 #[doc = "0x664..0x670 - Unspecified"]
131 pub epin5: EPIN,
132 _reserved55: [u8; 0x08],
133 #[doc = "0x678..0x684 - Unspecified"]
134 pub epin6: EPIN,
135 _reserved56: [u8; 0x08],
136 #[doc = "0x68c..0x698 - Unspecified"]
137 pub epin7: EPIN,
138 _reserved57: [u8; 0x08],
139 #[doc = "0x6a0..0x6ac - Unspecified"]
140 pub isoin: ISOIN,
141 _reserved58: [u8; 0x54],
142 #[doc = "0x700..0x70c - Unspecified"]
143 pub epout0: EPOUT,
144 _reserved59: [u8; 0x08],
145 #[doc = "0x714..0x720 - Unspecified"]
146 pub epout1: EPOUT,
147 _reserved60: [u8; 0x08],
148 #[doc = "0x728..0x734 - Unspecified"]
149 pub epout2: EPOUT,
150 _reserved61: [u8; 0x08],
151 #[doc = "0x73c..0x748 - Unspecified"]
152 pub epout3: EPOUT,
153 _reserved62: [u8; 0x08],
154 #[doc = "0x750..0x75c - Unspecified"]
155 pub epout4: EPOUT,
156 _reserved63: [u8; 0x08],
157 #[doc = "0x764..0x770 - Unspecified"]
158 pub epout5: EPOUT,
159 _reserved64: [u8; 0x08],
160 #[doc = "0x778..0x784 - Unspecified"]
161 pub epout6: EPOUT,
162 _reserved65: [u8; 0x08],
163 #[doc = "0x78c..0x798 - Unspecified"]
164 pub epout7: EPOUT,
165 _reserved66: [u8; 0x08],
166 #[doc = "0x7a0..0x7ac - Unspecified"]
167 pub isoout: ISOOUT,
168}
169#[doc = "TASKS_STARTEPIN (w) register accessor: an alias for `Reg<TASKS_STARTEPIN_SPEC>`"]
170pub type TASKS_STARTEPIN = crate::Reg<tasks_startepin::TASKS_STARTEPIN_SPEC>;
171#[doc = "Description collection\\[n\\]: Captures the EPIN\\[n\\].PTR and EPIN\\[n\\].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host"]
172pub mod tasks_startepin;
173#[doc = "TASKS_STARTISOIN (w) register accessor: an alias for `Reg<TASKS_STARTISOIN_SPEC>`"]
174pub type TASKS_STARTISOIN = crate::Reg<tasks_startisoin::TASKS_STARTISOIN_SPEC>;
175#[doc = "Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint"]
176pub mod tasks_startisoin;
177#[doc = "TASKS_STARTEPOUT (w) register accessor: an alias for `Reg<TASKS_STARTEPOUT_SPEC>`"]
178pub type TASKS_STARTEPOUT = crate::Reg<tasks_startepout::TASKS_STARTEPOUT_SPEC>;
179#[doc = "Description collection\\[n\\]: Captures the EPOUT\\[n\\].PTR and EPOUT\\[n\\].MAXCNT registers values, and enables endpoint n to respond to traffic from host"]
180pub mod tasks_startepout;
181#[doc = "TASKS_STARTISOOUT (w) register accessor: an alias for `Reg<TASKS_STARTISOOUT_SPEC>`"]
182pub type TASKS_STARTISOOUT = crate::Reg<tasks_startisoout::TASKS_STARTISOOUT_SPEC>;
183#[doc = "Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint"]
184pub mod tasks_startisoout;
185#[doc = "TASKS_EP0RCVOUT (w) register accessor: an alias for `Reg<TASKS_EP0RCVOUT_SPEC>`"]
186pub type TASKS_EP0RCVOUT = crate::Reg<tasks_ep0rcvout::TASKS_EP0RCVOUT_SPEC>;
187#[doc = "Allows OUT data stage on control endpoint 0"]
188pub mod tasks_ep0rcvout;
189#[doc = "TASKS_EP0STATUS (w) register accessor: an alias for `Reg<TASKS_EP0STATUS_SPEC>`"]
190pub type TASKS_EP0STATUS = crate::Reg<tasks_ep0status::TASKS_EP0STATUS_SPEC>;
191#[doc = "Allows status stage on control endpoint 0"]
192pub mod tasks_ep0status;
193#[doc = "TASKS_EP0STALL (w) register accessor: an alias for `Reg<TASKS_EP0STALL_SPEC>`"]
194pub type TASKS_EP0STALL = crate::Reg<tasks_ep0stall::TASKS_EP0STALL_SPEC>;
195#[doc = "Stalls data and status stage on control endpoint 0"]
196pub mod tasks_ep0stall;
197#[doc = "TASKS_DPDMDRIVE (w) register accessor: an alias for `Reg<TASKS_DPDMDRIVE_SPEC>`"]
198pub type TASKS_DPDMDRIVE = crate::Reg<tasks_dpdmdrive::TASKS_DPDMDRIVE_SPEC>;
199#[doc = "Forces D+ and D- lines into the state defined in the DPDMVALUE register"]
200pub mod tasks_dpdmdrive;
201#[doc = "TASKS_DPDMNODRIVE (w) register accessor: an alias for `Reg<TASKS_DPDMNODRIVE_SPEC>`"]
202pub type TASKS_DPDMNODRIVE = crate::Reg<tasks_dpdmnodrive::TASKS_DPDMNODRIVE_SPEC>;
203#[doc = "Stops forcing D+ and D- lines into any state (USB engine takes control)"]
204pub mod tasks_dpdmnodrive;
205#[doc = "EVENTS_USBRESET (rw) register accessor: an alias for `Reg<EVENTS_USBRESET_SPEC>`"]
206pub type EVENTS_USBRESET = crate::Reg<events_usbreset::EVENTS_USBRESET_SPEC>;
207#[doc = "Signals that a USB reset condition has been detected on USB lines"]
208pub mod events_usbreset;
209#[doc = "EVENTS_STARTED (rw) register accessor: an alias for `Reg<EVENTS_STARTED_SPEC>`"]
210pub type EVENTS_STARTED = crate::Reg<events_started::EVENTS_STARTED_SPEC>;
211#[doc = "Confirms that the EPIN\\[n\\].PTR and EPIN\\[n\\].MAXCNT, or EPOUT\\[n\\].PTR and EPOUT\\[n\\].MAXCNT registers have been captured on all endpoints reported in the EPSTATUS register"]
212pub mod events_started;
213#[doc = "EVENTS_ENDEPIN (rw) register accessor: an alias for `Reg<EVENTS_ENDEPIN_SPEC>`"]
214pub type EVENTS_ENDEPIN = crate::Reg<events_endepin::EVENTS_ENDEPIN_SPEC>;
215#[doc = "Description collection\\[n\\]: The whole EPIN\\[n\\]
216buffer has been consumed. The RAM buffer can be accessed safely by software."]
217pub mod events_endepin;
218#[doc = "EVENTS_EP0DATADONE (rw) register accessor: an alias for `Reg<EVENTS_EP0DATADONE_SPEC>`"]
219pub type EVENTS_EP0DATADONE = crate::Reg<events_ep0datadone::EVENTS_EP0DATADONE_SPEC>;
220#[doc = "An acknowledged data transfer has taken place on the control endpoint"]
221pub mod events_ep0datadone;
222#[doc = "EVENTS_ENDISOIN (rw) register accessor: an alias for `Reg<EVENTS_ENDISOIN_SPEC>`"]
223pub type EVENTS_ENDISOIN = crate::Reg<events_endisoin::EVENTS_ENDISOIN_SPEC>;
224#[doc = "The whole ISOIN buffer has been consumed. The RAM buffer can be accessed safely by software."]
225pub mod events_endisoin;
226#[doc = "EVENTS_ENDEPOUT (rw) register accessor: an alias for `Reg<EVENTS_ENDEPOUT_SPEC>`"]
227pub type EVENTS_ENDEPOUT = crate::Reg<events_endepout::EVENTS_ENDEPOUT_SPEC>;
228#[doc = "Description collection\\[n\\]: The whole EPOUT\\[n\\]
229buffer has been consumed. The RAM buffer can be accessed safely by software."]
230pub mod events_endepout;
231#[doc = "EVENTS_ENDISOOUT (rw) register accessor: an alias for `Reg<EVENTS_ENDISOOUT_SPEC>`"]
232pub type EVENTS_ENDISOOUT = crate::Reg<events_endisoout::EVENTS_ENDISOOUT_SPEC>;
233#[doc = "The whole ISOOUT buffer has been consumed. The RAM buffer can be accessed safely by software."]
234pub mod events_endisoout;
235#[doc = "EVENTS_SOF (rw) register accessor: an alias for `Reg<EVENTS_SOF_SPEC>`"]
236pub type EVENTS_SOF = crate::Reg<events_sof::EVENTS_SOF_SPEC>;
237#[doc = "Signals that a SOF (start of frame) condition has been detected on USB lines"]
238pub mod events_sof;
239#[doc = "EVENTS_USBEVENT (rw) register accessor: an alias for `Reg<EVENTS_USBEVENT_SPEC>`"]
240pub type EVENTS_USBEVENT = crate::Reg<events_usbevent::EVENTS_USBEVENT_SPEC>;
241#[doc = "An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause."]
242pub mod events_usbevent;
243#[doc = "EVENTS_EP0SETUP (rw) register accessor: an alias for `Reg<EVENTS_EP0SETUP_SPEC>`"]
244pub type EVENTS_EP0SETUP = crate::Reg<events_ep0setup::EVENTS_EP0SETUP_SPEC>;
245#[doc = "A valid SETUP token has been received (and acknowledged) on the control endpoint"]
246pub mod events_ep0setup;
247#[doc = "EVENTS_EPDATA (rw) register accessor: an alias for `Reg<EVENTS_EPDATA_SPEC>`"]
248pub type EVENTS_EPDATA = crate::Reg<events_epdata::EVENTS_EPDATA_SPEC>;
249#[doc = "A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register"]
250pub mod events_epdata;
251#[doc = "SHORTS (rw) register accessor: an alias for `Reg<SHORTS_SPEC>`"]
252pub type SHORTS = crate::Reg<shorts::SHORTS_SPEC>;
253#[doc = "Shortcut register"]
254pub mod shorts;
255#[doc = "INTEN (rw) register accessor: an alias for `Reg<INTEN_SPEC>`"]
256pub type INTEN = crate::Reg<inten::INTEN_SPEC>;
257#[doc = "Enable or disable interrupt"]
258pub mod inten;
259#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
260pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
261#[doc = "Enable interrupt"]
262pub mod intenset;
263#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
264pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
265#[doc = "Disable interrupt"]
266pub mod intenclr;
267#[doc = "EVENTCAUSE (rw) register accessor: an alias for `Reg<EVENTCAUSE_SPEC>`"]
268pub type EVENTCAUSE = crate::Reg<eventcause::EVENTCAUSE_SPEC>;
269#[doc = "Details on what caused the USBEVENT event"]
270pub mod eventcause;
271#[doc = "Unspecified"]
272pub use halted::HALTED;
273#[doc = r"Cluster"]
274#[doc = "Unspecified"]
275pub mod halted;
276#[doc = "EPSTATUS (rw) register accessor: an alias for `Reg<EPSTATUS_SPEC>`"]
277pub type EPSTATUS = crate::Reg<epstatus::EPSTATUS_SPEC>;
278#[doc = "Provides information on which endpoint's EasyDMA registers have been captured"]
279pub mod epstatus;
280#[doc = "EPDATASTATUS (rw) register accessor: an alias for `Reg<EPDATASTATUS_SPEC>`"]
281pub type EPDATASTATUS = crate::Reg<epdatastatus::EPDATASTATUS_SPEC>;
282#[doc = "Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)"]
283pub mod epdatastatus;
284#[doc = "USBADDR (r) register accessor: an alias for `Reg<USBADDR_SPEC>`"]
285pub type USBADDR = crate::Reg<usbaddr::USBADDR_SPEC>;
286#[doc = "Device USB address"]
287pub mod usbaddr;
288#[doc = "BMREQUESTTYPE (r) register accessor: an alias for `Reg<BMREQUESTTYPE_SPEC>`"]
289pub type BMREQUESTTYPE = crate::Reg<bmrequesttype::BMREQUESTTYPE_SPEC>;
290#[doc = "SETUP data, byte 0, bmRequestType"]
291pub mod bmrequesttype;
292#[doc = "BREQUEST (r) register accessor: an alias for `Reg<BREQUEST_SPEC>`"]
293pub type BREQUEST = crate::Reg<brequest::BREQUEST_SPEC>;
294#[doc = "SETUP data, byte 1, bRequest"]
295pub mod brequest;
296#[doc = "WVALUEL (r) register accessor: an alias for `Reg<WVALUEL_SPEC>`"]
297pub type WVALUEL = crate::Reg<wvaluel::WVALUEL_SPEC>;
298#[doc = "SETUP data, byte 2, LSB of wValue"]
299pub mod wvaluel;
300#[doc = "WVALUEH (r) register accessor: an alias for `Reg<WVALUEH_SPEC>`"]
301pub type WVALUEH = crate::Reg<wvalueh::WVALUEH_SPEC>;
302#[doc = "SETUP data, byte 3, MSB of wValue"]
303pub mod wvalueh;
304#[doc = "WINDEXL (r) register accessor: an alias for `Reg<WINDEXL_SPEC>`"]
305pub type WINDEXL = crate::Reg<windexl::WINDEXL_SPEC>;
306#[doc = "SETUP data, byte 4, LSB of wIndex"]
307pub mod windexl;
308#[doc = "WINDEXH (r) register accessor: an alias for `Reg<WINDEXH_SPEC>`"]
309pub type WINDEXH = crate::Reg<windexh::WINDEXH_SPEC>;
310#[doc = "SETUP data, byte 5, MSB of wIndex"]
311pub mod windexh;
312#[doc = "WLENGTHL (r) register accessor: an alias for `Reg<WLENGTHL_SPEC>`"]
313pub type WLENGTHL = crate::Reg<wlengthl::WLENGTHL_SPEC>;
314#[doc = "SETUP data, byte 6, LSB of wLength"]
315pub mod wlengthl;
316#[doc = "WLENGTHH (r) register accessor: an alias for `Reg<WLENGTHH_SPEC>`"]
317pub type WLENGTHH = crate::Reg<wlengthh::WLENGTHH_SPEC>;
318#[doc = "SETUP data, byte 7, MSB of wLength"]
319pub mod wlengthh;
320#[doc = "Unspecified"]
321pub use size::SIZE;
322#[doc = r"Cluster"]
323#[doc = "Unspecified"]
324pub mod size;
325#[doc = "ENABLE (rw) register accessor: an alias for `Reg<ENABLE_SPEC>`"]
326pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
327#[doc = "Enable USB"]
328pub mod enable;
329#[doc = "USBPULLUP (rw) register accessor: an alias for `Reg<USBPULLUP_SPEC>`"]
330pub type USBPULLUP = crate::Reg<usbpullup::USBPULLUP_SPEC>;
331#[doc = "Control of the USB pull-up"]
332pub mod usbpullup;
333#[doc = "DPDMVALUE (rw) register accessor: an alias for `Reg<DPDMVALUE_SPEC>`"]
334pub type DPDMVALUE = crate::Reg<dpdmvalue::DPDMVALUE_SPEC>;
335#[doc = "State D+ and D- lines will be forced into by the DPDMDRIVE task. The DPDMNODRIVE task reverts the control of the lines to MAC IP (no forcing)."]
336pub mod dpdmvalue;
337#[doc = "DTOGGLE (rw) register accessor: an alias for `Reg<DTOGGLE_SPEC>`"]
338pub type DTOGGLE = crate::Reg<dtoggle::DTOGGLE_SPEC>;
339#[doc = "Data toggle control and status"]
340pub mod dtoggle;
341#[doc = "EPINEN (rw) register accessor: an alias for `Reg<EPINEN_SPEC>`"]
342pub type EPINEN = crate::Reg<epinen::EPINEN_SPEC>;
343#[doc = "Endpoint IN enable"]
344pub mod epinen;
345#[doc = "EPOUTEN (rw) register accessor: an alias for `Reg<EPOUTEN_SPEC>`"]
346pub type EPOUTEN = crate::Reg<epouten::EPOUTEN_SPEC>;
347#[doc = "Endpoint OUT enable"]
348pub mod epouten;
349#[doc = "EPSTALL (w) register accessor: an alias for `Reg<EPSTALL_SPEC>`"]
350pub type EPSTALL = crate::Reg<epstall::EPSTALL_SPEC>;
351#[doc = "STALL endpoints"]
352pub mod epstall;
353#[doc = "ISOSPLIT (rw) register accessor: an alias for `Reg<ISOSPLIT_SPEC>`"]
354pub type ISOSPLIT = crate::Reg<isosplit::ISOSPLIT_SPEC>;
355#[doc = "Controls the split of ISO buffers"]
356pub mod isosplit;
357#[doc = "FRAMECNTR (r) register accessor: an alias for `Reg<FRAMECNTR_SPEC>`"]
358pub type FRAMECNTR = crate::Reg<framecntr::FRAMECNTR_SPEC>;
359#[doc = "Returns the current value of the start of frame counter"]
360pub mod framecntr;
361#[doc = "LOWPOWER (rw) register accessor: an alias for `Reg<LOWPOWER_SPEC>`"]
362pub type LOWPOWER = crate::Reg<lowpower::LOWPOWER_SPEC>;
363#[doc = "Controls USBD peripheral low power mode during USB suspend"]
364pub mod lowpower;
365#[doc = "ISOINCONFIG (rw) register accessor: an alias for `Reg<ISOINCONFIG_SPEC>`"]
366pub type ISOINCONFIG = crate::Reg<isoinconfig::ISOINCONFIG_SPEC>;
367#[doc = "Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent"]
368pub mod isoinconfig;
369#[doc = "Unspecified"]
370pub use epin::EPIN;
371#[doc = r"Cluster"]
372#[doc = "Unspecified"]
373pub mod epin;
374#[doc = "Unspecified"]
375pub use isoin::ISOIN;
376#[doc = r"Cluster"]
377#[doc = "Unspecified"]
378pub mod isoin;
379#[doc = "Unspecified"]
380pub use epout::EPOUT;
381#[doc = r"Cluster"]
382#[doc = "Unspecified"]
383pub mod epout;
384#[doc = "Unspecified"]
385pub use isoout::ISOOUT;
386#[doc = r"Cluster"]
387#[doc = "Unspecified"]
388pub mod isoout;