nrf52840_pac/
usbd.rs

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;