Struct nrf5340_app_pac::usbd_ns::RegisterBlock
source · [−]#[repr(C)]pub struct RegisterBlock {Show 87 fields
pub tasks_startepin: [TASKS_STARTEPIN; 8],
pub tasks_startisoin: TASKS_STARTISOIN,
pub tasks_startepout: [TASKS_STARTEPOUT; 8],
pub tasks_startisoout: TASKS_STARTISOOUT,
pub tasks_ep0rcvout: TASKS_EP0RCVOUT,
pub tasks_ep0status: TASKS_EP0STATUS,
pub tasks_ep0stall: TASKS_EP0STALL,
pub tasks_dpdmdrive: TASKS_DPDMDRIVE,
pub tasks_dpdmnodrive: TASKS_DPDMNODRIVE,
pub subscribe_startepin: [SUBSCRIBE_STARTEPIN; 8],
pub subscribe_startisoin: SUBSCRIBE_STARTISOIN,
pub subscribe_startepout: [SUBSCRIBE_STARTEPOUT; 8],
pub subscribe_startisoout: SUBSCRIBE_STARTISOOUT,
pub subscribe_ep0rcvout: SUBSCRIBE_EP0RCVOUT,
pub subscribe_ep0status: SUBSCRIBE_EP0STATUS,
pub subscribe_ep0stall: SUBSCRIBE_EP0STALL,
pub subscribe_dpdmdrive: SUBSCRIBE_DPDMDRIVE,
pub subscribe_dpdmnodrive: SUBSCRIBE_DPDMNODRIVE,
pub events_usbreset: EVENTS_USBRESET,
pub events_started: EVENTS_STARTED,
pub events_endepin: [EVENTS_ENDEPIN; 8],
pub events_ep0datadone: EVENTS_EP0DATADONE,
pub events_endisoin: EVENTS_ENDISOIN,
pub events_endepout: [EVENTS_ENDEPOUT; 8],
pub events_endisoout: EVENTS_ENDISOOUT,
pub events_sof: EVENTS_SOF,
pub events_usbevent: EVENTS_USBEVENT,
pub events_ep0setup: EVENTS_EP0SETUP,
pub events_epdata: EVENTS_EPDATA,
pub publish_usbreset: PUBLISH_USBRESET,
pub publish_started: PUBLISH_STARTED,
pub publish_endepin: [PUBLISH_ENDEPIN; 8],
pub publish_ep0datadone: PUBLISH_EP0DATADONE,
pub publish_endisoin: PUBLISH_ENDISOIN,
pub publish_endepout: [PUBLISH_ENDEPOUT; 8],
pub publish_endisoout: PUBLISH_ENDISOOUT,
pub publish_sof: PUBLISH_SOF,
pub publish_usbevent: PUBLISH_USBEVENT,
pub publish_ep0setup: PUBLISH_EP0SETUP,
pub publish_epdata: PUBLISH_EPDATA,
pub shorts: SHORTS,
pub inten: INTEN,
pub intenset: INTENSET,
pub intenclr: INTENCLR,
pub eventcause: EVENTCAUSE,
pub halted: HALTED,
pub epstatus: EPSTATUS,
pub epdatastatus: EPDATASTATUS,
pub usbaddr: USBADDR,
pub bmrequesttype: BMREQUESTTYPE,
pub brequest: BREQUEST,
pub wvaluel: WVALUEL,
pub wvalueh: WVALUEH,
pub windexl: WINDEXL,
pub windexh: WINDEXH,
pub wlengthl: WLENGTHL,
pub wlengthh: WLENGTHH,
pub size: SIZE,
pub enable: ENABLE,
pub usbpullup: USBPULLUP,
pub dpdmvalue: DPDMVALUE,
pub dtoggle: DTOGGLE,
pub epinen: EPINEN,
pub epouten: EPOUTEN,
pub epstall: EPSTALL,
pub isosplit: ISOSPLIT,
pub framecntr: FRAMECNTR,
pub lowpower: LOWPOWER,
pub isoinconfig: ISOINCONFIG,
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: [TASKS_STARTEPIN; 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: TASKS_STARTISOIN
0x24 - Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
tasks_startepout: [TASKS_STARTEPOUT; 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: TASKS_STARTISOOUT
0x48 - Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
tasks_ep0rcvout: TASKS_EP0RCVOUT
0x4c - Allows OUT data stage on control endpoint 0
tasks_ep0status: TASKS_EP0STATUS
0x50 - Allows status stage on control endpoint 0
tasks_ep0stall: TASKS_EP0STALL
0x54 - Stalls data and status stage on control endpoint 0
tasks_dpdmdrive: TASKS_DPDMDRIVE
0x58 - Forces D+ and D- lines into the state defined in the DPDMVALUE register
tasks_dpdmnodrive: TASKS_DPDMNODRIVE
0x5c - Stops forcing D+ and D- lines into any state (USB engine takes control)
subscribe_startepin: [SUBSCRIBE_STARTEPIN; 8]
0x84..0xa4 - Description collection: Subscribe configuration for task STARTEPIN[n]
subscribe_startisoin: SUBSCRIBE_STARTISOIN
0xa4 - Subscribe configuration for task STARTISOIN
subscribe_startepout: [SUBSCRIBE_STARTEPOUT; 8]
0xa8..0xc8 - Description collection: Subscribe configuration for task STARTEPOUT[n]
subscribe_startisoout: SUBSCRIBE_STARTISOOUT
0xc8 - Subscribe configuration for task STARTISOOUT
subscribe_ep0rcvout: SUBSCRIBE_EP0RCVOUT
0xcc - Subscribe configuration for task EP0RCVOUT
subscribe_ep0status: SUBSCRIBE_EP0STATUS
0xd0 - Subscribe configuration for task EP0STATUS
subscribe_ep0stall: SUBSCRIBE_EP0STALL
0xd4 - Subscribe configuration for task EP0STALL
subscribe_dpdmdrive: SUBSCRIBE_DPDMDRIVE
0xd8 - Subscribe configuration for task DPDMDRIVE
subscribe_dpdmnodrive: SUBSCRIBE_DPDMNODRIVE
0xdc - Subscribe configuration for task DPDMNODRIVE
events_usbreset: EVENTS_USBRESET
0x100 - Signals that a USB reset condition has been detected on USB lines
events_started: EVENTS_STARTED
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: [EVENTS_ENDEPIN; 8]
0x108..0x128 - Description collection: The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
events_ep0datadone: EVENTS_EP0DATADONE
0x128 - An acknowledged data transfer has taken place on the control endpoint
events_endisoin: EVENTS_ENDISOIN
0x12c - The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
events_endepout: [EVENTS_ENDEPOUT; 8]
0x130..0x150 - Description collection: The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
events_endisoout: EVENTS_ENDISOOUT
0x150 - The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
events_sof: EVENTS_SOF
0x154 - Signals that a SOF (start of frame) condition has been detected on USB lines
events_usbevent: EVENTS_USBEVENT
0x158 - An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
events_ep0setup: EVENTS_EP0SETUP
0x15c - A valid SETUP token has been received (and acknowledged) on the control endpoint
events_epdata: EVENTS_EPDATA
0x160 - A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
publish_usbreset: PUBLISH_USBRESET
0x180 - Publish configuration for event USBRESET
publish_started: PUBLISH_STARTED
0x184 - Publish configuration for event STARTED
publish_endepin: [PUBLISH_ENDEPIN; 8]
0x188..0x1a8 - Description collection: Publish configuration for event ENDEPIN[n]
publish_ep0datadone: PUBLISH_EP0DATADONE
0x1a8 - Publish configuration for event EP0DATADONE
publish_endisoin: PUBLISH_ENDISOIN
0x1ac - Publish configuration for event ENDISOIN
publish_endepout: [PUBLISH_ENDEPOUT; 8]
0x1b0..0x1d0 - Description collection: Publish configuration for event ENDEPOUT[n]
publish_endisoout: PUBLISH_ENDISOOUT
0x1d0 - Publish configuration for event ENDISOOUT
publish_sof: PUBLISH_SOF
0x1d4 - Publish configuration for event SOF
publish_usbevent: PUBLISH_USBEVENT
0x1d8 - Publish configuration for event USBEVENT
publish_ep0setup: PUBLISH_EP0SETUP
0x1dc - Publish configuration for event EP0SETUP
publish_epdata: PUBLISH_EPDATA
0x1e0 - Publish configuration for event EPDATA
shorts: SHORTS
0x200 - Shortcuts between local events and tasks
inten: INTEN
0x300 - Enable or disable interrupt
intenset: INTENSET
0x304 - Enable interrupt
intenclr: INTENCLR
0x308 - Disable interrupt
eventcause: EVENTCAUSE
0x400 - Details on what caused the USBEVENT event
halted: HALTED
0x420..0x464 - Unspecified
epstatus: EPSTATUS
0x468 - Provides information on which endpoint’s EasyDMA registers have been captured
epdatastatus: EPDATASTATUS
0x46c - Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
usbaddr: USBADDR
0x470 - Device USB address
bmrequesttype: BMREQUESTTYPE
0x480 - SETUP data, byte 0, bmRequestType
brequest: BREQUEST
0x484 - SETUP data, byte 1, bRequest
wvaluel: WVALUEL
0x488 - SETUP data, byte 2, LSB of wValue
wvalueh: WVALUEH
0x48c - SETUP data, byte 3, MSB of wValue
windexl: WINDEXL
0x490 - SETUP data, byte 4, LSB of wIndex
windexh: WINDEXH
0x494 - SETUP data, byte 5, MSB of wIndex
wlengthl: WLENGTHL
0x498 - SETUP data, byte 6, LSB of wLength
wlengthh: WLENGTHH
0x49c - SETUP data, byte 7, MSB of wLength
size: SIZE
0x4a0..0x4c4 - Unspecified
enable: ENABLE
0x500 - Enable USB
usbpullup: USBPULLUP
0x504 - Control of the USB pull-up
dpdmvalue: DPDMVALUE
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: DTOGGLE
0x50c - Data toggle control and status
epinen: EPINEN
0x510 - Endpoint IN enable
epouten: EPOUTEN
0x514 - Endpoint OUT enable
epstall: EPSTALL
0x518 - STALL endpoints
isosplit: ISOSPLIT
0x51c - Controls the split of ISO buffers
framecntr: FRAMECNTR
0x520 - Returns the current value of the start of frame counter
lowpower: LOWPOWER
0x52c - Controls USBD peripheral low power mode during USB suspend
isoinconfig: ISOINCONFIG
0x530 - Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
epin0: EPIN
0x600..0x60c - Unspecified
epin1: EPIN
0x614..0x620 - Unspecified
epin2: EPIN
0x628..0x634 - Unspecified
epin3: EPIN
0x63c..0x648 - Unspecified
epin4: EPIN
0x650..0x65c - Unspecified
epin5: EPIN
0x664..0x670 - Unspecified
epin6: EPIN
0x678..0x684 - Unspecified
epin7: EPIN
0x68c..0x698 - Unspecified
isoin: ISOIN
0x6a0..0x6ac - Unspecified
epout0: EPOUT
0x700..0x70c - Unspecified
epout1: EPOUT
0x714..0x720 - Unspecified
epout2: EPOUT
0x728..0x734 - Unspecified
epout3: EPOUT
0x73c..0x748 - Unspecified
epout4: EPOUT
0x750..0x75c - Unspecified
epout5: EPOUT
0x764..0x770 - Unspecified
epout6: EPOUT
0x778..0x784 - Unspecified
epout7: EPOUT
0x78c..0x798 - Unspecified
isoout: ISOOUT
0x7a0..0x7ac - Unspecified