pub struct RegisterBlock {Show 67 fields
pub tasks_startepin: [Reg<TASKS_STARTEPIN_SPEC>; 8],
pub tasks_startisoin: Reg<TASKS_STARTISOIN_SPEC>,
pub tasks_startepout: [Reg<TASKS_STARTEPOUT_SPEC>; 8],
pub tasks_startisoout: Reg<TASKS_STARTISOOUT_SPEC>,
pub tasks_ep0rcvout: Reg<TASKS_EP0RCVOUT_SPEC>,
pub tasks_ep0status: Reg<TASKS_EP0STATUS_SPEC>,
pub tasks_ep0stall: Reg<TASKS_EP0STALL_SPEC>,
pub tasks_dpdmdrive: Reg<TASKS_DPDMDRIVE_SPEC>,
pub tasks_dpdmnodrive: Reg<TASKS_DPDMNODRIVE_SPEC>,
pub events_usbreset: Reg<EVENTS_USBRESET_SPEC>,
pub events_started: Reg<EVENTS_STARTED_SPEC>,
pub events_endepin: [Reg<EVENTS_ENDEPIN_SPEC>; 8],
pub events_ep0datadone: Reg<EVENTS_EP0DATADONE_SPEC>,
pub events_endisoin: Reg<EVENTS_ENDISOIN_SPEC>,
pub events_endepout: [Reg<EVENTS_ENDEPOUT_SPEC>; 8],
pub events_endisoout: Reg<EVENTS_ENDISOOUT_SPEC>,
pub events_sof: Reg<EVENTS_SOF_SPEC>,
pub events_usbevent: Reg<EVENTS_USBEVENT_SPEC>,
pub events_ep0setup: Reg<EVENTS_EP0SETUP_SPEC>,
pub events_epdata: Reg<EVENTS_EPDATA_SPEC>,
pub shorts: Reg<SHORTS_SPEC>,
pub inten: Reg<INTEN_SPEC>,
pub intenset: Reg<INTENSET_SPEC>,
pub intenclr: Reg<INTENCLR_SPEC>,
pub eventcause: Reg<EVENTCAUSE_SPEC>,
pub halted: HALTED,
pub epstatus: Reg<EPSTATUS_SPEC>,
pub epdatastatus: Reg<EPDATASTATUS_SPEC>,
pub usbaddr: Reg<USBADDR_SPEC>,
pub bmrequesttype: Reg<BMREQUESTTYPE_SPEC>,
pub brequest: Reg<BREQUEST_SPEC>,
pub wvaluel: Reg<WVALUEL_SPEC>,
pub wvalueh: Reg<WVALUEH_SPEC>,
pub windexl: Reg<WINDEXL_SPEC>,
pub windexh: Reg<WINDEXH_SPEC>,
pub wlengthl: Reg<WLENGTHL_SPEC>,
pub wlengthh: Reg<WLENGTHH_SPEC>,
pub size: SIZE,
pub enable: Reg<ENABLE_SPEC>,
pub usbpullup: Reg<USBPULLUP_SPEC>,
pub dpdmvalue: Reg<DPDMVALUE_SPEC>,
pub dtoggle: Reg<DTOGGLE_SPEC>,
pub epinen: Reg<EPINEN_SPEC>,
pub epouten: Reg<EPOUTEN_SPEC>,
pub epstall: Reg<EPSTALL_SPEC>,
pub isosplit: Reg<ISOSPLIT_SPEC>,
pub framecntr: Reg<FRAMECNTR_SPEC>,
pub lowpower: Reg<LOWPOWER_SPEC>,
pub isoinconfig: Reg<ISOINCONFIG_SPEC>,
pub epin0: EPIN,
pub epin1: EPIN,
pub epin2: EPIN,
pub epin3: EPIN,
pub epin4: EPIN,
pub epin5: EPIN,
pub epin6: EPIN,
pub epin7: EPIN,
pub isoin: ISOIN,
pub epout0: EPOUT,
pub epout1: EPOUT,
pub epout2: EPOUT,
pub epout3: EPOUT,
pub epout4: EPOUT,
pub epout5: EPOUT,
pub epout6: EPOUT,
pub epout7: EPOUT,
pub isoout: ISOOUT,
/* private fields */
}Expand description
Register block
Fields§
§tasks_startepin: [Reg<TASKS_STARTEPIN_SPEC>; 8]0x04..0x24 - Description collection: Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host
tasks_startisoin: Reg<TASKS_STARTISOIN_SPEC>0x24 - Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
tasks_startepout: [Reg<TASKS_STARTEPOUT_SPEC>; 8]0x28..0x48 - Description collection: Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host
tasks_startisoout: Reg<TASKS_STARTISOOUT_SPEC>0x48 - Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
tasks_ep0rcvout: Reg<TASKS_EP0RCVOUT_SPEC>0x4c - Allows OUT data stage on control endpoint 0
tasks_ep0status: Reg<TASKS_EP0STATUS_SPEC>0x50 - Allows status stage on control endpoint 0
tasks_ep0stall: Reg<TASKS_EP0STALL_SPEC>0x54 - Stalls data and status stage on control endpoint 0
tasks_dpdmdrive: Reg<TASKS_DPDMDRIVE_SPEC>0x58 - Forces D+ and D- lines into the state defined in the DPDMVALUE register
tasks_dpdmnodrive: Reg<TASKS_DPDMNODRIVE_SPEC>0x5c - Stops forcing D+ and D- lines into any state (USB engine takes control)
events_usbreset: Reg<EVENTS_USBRESET_SPEC>0x100 - Signals that a USB reset condition has been detected on USB lines
events_started: Reg<EVENTS_STARTED_SPEC>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
events_endepin: [Reg<EVENTS_ENDEPIN_SPEC>; 8]0x108..0x128 - Description collection: The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
events_ep0datadone: Reg<EVENTS_EP0DATADONE_SPEC>0x128 - An acknowledged data transfer has taken place on the control endpoint
events_endisoin: Reg<EVENTS_ENDISOIN_SPEC>0x12c - The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
events_endepout: [Reg<EVENTS_ENDEPOUT_SPEC>; 8]0x130..0x150 - Description collection: The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
events_endisoout: Reg<EVENTS_ENDISOOUT_SPEC>0x150 - The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
events_sof: Reg<EVENTS_SOF_SPEC>0x154 - Signals that a SOF (start of frame) condition has been detected on USB lines
events_usbevent: Reg<EVENTS_USBEVENT_SPEC>0x158 - An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
events_ep0setup: Reg<EVENTS_EP0SETUP_SPEC>0x15c - A valid SETUP token has been received (and acknowledged) on the control endpoint
events_epdata: Reg<EVENTS_EPDATA_SPEC>0x160 - A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
shorts: Reg<SHORTS_SPEC>0x200 - Shortcuts between local events and tasks
inten: Reg<INTEN_SPEC>0x300 - Enable or disable interrupt
intenset: Reg<INTENSET_SPEC>0x304 - Enable interrupt
intenclr: Reg<INTENCLR_SPEC>0x308 - Disable interrupt
eventcause: Reg<EVENTCAUSE_SPEC>0x400 - Details on what caused the USBEVENT event
halted: HALTED0x420..0x464 - Unspecified
epstatus: Reg<EPSTATUS_SPEC>0x468 - Provides information on which endpoint’s EasyDMA registers have been captured
epdatastatus: Reg<EPDATASTATUS_SPEC>0x46c - Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
usbaddr: Reg<USBADDR_SPEC>0x470 - Device USB address
bmrequesttype: Reg<BMREQUESTTYPE_SPEC>0x480 - SETUP data, byte 0, bmRequestType
brequest: Reg<BREQUEST_SPEC>0x484 - SETUP data, byte 1, bRequest
wvaluel: Reg<WVALUEL_SPEC>0x488 - SETUP data, byte 2, LSB of wValue
wvalueh: Reg<WVALUEH_SPEC>0x48c - SETUP data, byte 3, MSB of wValue
windexl: Reg<WINDEXL_SPEC>0x490 - SETUP data, byte 4, LSB of wIndex
windexh: Reg<WINDEXH_SPEC>0x494 - SETUP data, byte 5, MSB of wIndex
wlengthl: Reg<WLENGTHL_SPEC>0x498 - SETUP data, byte 6, LSB of wLength
wlengthh: Reg<WLENGTHH_SPEC>0x49c - SETUP data, byte 7, MSB of wLength
size: SIZE0x4a0..0x4c4 - Unspecified
enable: Reg<ENABLE_SPEC>0x500 - Enable USB
usbpullup: Reg<USBPULLUP_SPEC>0x504 - Control of the USB pull-up
dpdmvalue: Reg<DPDMVALUE_SPEC>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).
dtoggle: Reg<DTOGGLE_SPEC>0x50c - Data toggle control and status
epinen: Reg<EPINEN_SPEC>0x510 - Endpoint IN enable
epouten: Reg<EPOUTEN_SPEC>0x514 - Endpoint OUT enable
epstall: Reg<EPSTALL_SPEC>0x518 - STALL endpoints
isosplit: Reg<ISOSPLIT_SPEC>0x51c - Controls the split of ISO buffers
framecntr: Reg<FRAMECNTR_SPEC>0x520 - Returns the current value of the start of frame counter
lowpower: Reg<LOWPOWER_SPEC>0x52c - Controls USBD peripheral low power mode during USB suspend
isoinconfig: Reg<ISOINCONFIG_SPEC>0x530 - Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
epin0: EPIN0x600..0x60c - Unspecified
epin1: EPIN0x614..0x620 - Unspecified
epin2: EPIN0x628..0x634 - Unspecified
epin3: EPIN0x63c..0x648 - Unspecified
epin4: EPIN0x650..0x65c - Unspecified
epin5: EPIN0x664..0x670 - Unspecified
epin6: EPIN0x678..0x684 - Unspecified
epin7: EPIN0x68c..0x698 - Unspecified
isoin: ISOIN0x6a0..0x6ac - Unspecified
epout0: EPOUT0x700..0x70c - Unspecified
epout1: EPOUT0x714..0x720 - Unspecified
epout2: EPOUT0x728..0x734 - Unspecified
epout3: EPOUT0x73c..0x748 - Unspecified
epout4: EPOUT0x750..0x75c - Unspecified
epout5: EPOUT0x764..0x770 - Unspecified
epout6: EPOUT0x778..0x784 - Unspecified
epout7: EPOUT0x78c..0x798 - Unspecified
isoout: ISOOUT0x7a0..0x7ac - Unspecified