Instances
| Instance | Domain | Base address | TrustZone | Split access | Description | ||
|---|---|---|---|---|---|---|---|
| Map | Att | DMA | |||||
|
USBD : S |
APPLICATION |
0x50036000 |
US | S | SA | No |
Universal serial bus device |
Register overview
| Register | Offset | TZ | Description |
|---|---|---|---|
| TASKS_STARTEPIN[n] | 0x004 |
Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host |
|
| TASKS_STARTISOIN | 0x024 |
Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint |
|
| TASKS_STARTEPOUT[n] | 0x028 |
Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host |
|
| TASKS_STARTISOOUT | 0x048 |
Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint |
|
| TASKS_EP0RCVOUT | 0x04C |
Allows OUT data stage on control endpoint 0 |
|
| TASKS_EP0STATUS | 0x050 |
Allows status stage on control endpoint 0 |
|
| TASKS_EP0STALL | 0x054 |
Stalls data and status stage on control endpoint 0 |
|
| TASKS_DPDMDRIVE | 0x058 |
Forces D+ and D- lines into the state defined in the DPDMVALUE register |
|
| TASKS_DPDMNODRIVE | 0x05C |
Stops forcing D+ and D- lines into any state (USB engine takes control) |
|
| SUBSCRIBE_STARTEPIN[n] | 0x084 |
Subscribe configuration for task STARTEPIN[n] |
|
| SUBSCRIBE_STARTISOIN | 0x0A4 |
Subscribe configuration for task STARTISOIN |
|
| SUBSCRIBE_STARTEPOUT[n] | 0x0A8 |
Subscribe configuration for task STARTEPOUT[n] |
|
| SUBSCRIBE_STARTISOOUT | 0x0C8 |
Subscribe configuration for task STARTISOOUT |
|
| SUBSCRIBE_EP0RCVOUT | 0x0CC |
Subscribe configuration for task EP0RCVOUT |
|
| SUBSCRIBE_EP0STATUS | 0x0D0 |
Subscribe configuration for task EP0STATUS |
|
| SUBSCRIBE_EP0STALL | 0x0D4 |
Subscribe configuration for task EP0STALL |
|
| SUBSCRIBE_DPDMDRIVE | 0x0D8 |
Subscribe configuration for task DPDMDRIVE |
|
| SUBSCRIBE_DPDMNODRIVE | 0x0DC |
Subscribe configuration for task DPDMNODRIVE |
|
| EVENTS_USBRESET | 0x100 |
Signals that a USB reset condition has been detected on USB lines |
|
| 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[n] | 0x108 |
The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_EP0DATADONE | 0x128 |
An acknowledged data transfer has taken place on the control endpoint |
|
| EVENTS_ENDISOIN | 0x12C |
The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_ENDEPOUT[n] | 0x130 |
The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_ENDISOOUT | 0x150 |
The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_SOF | 0x154 |
Signals that a SOF (start of frame) condition has been detected on USB lines |
|
| EVENTS_USBEVENT | 0x158 |
An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause. |
|
| EVENTS_EP0SETUP | 0x15C |
A valid SETUP token has been received (and acknowledged) on the control endpoint |
|
| EVENTS_EPDATA | 0x160 |
A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register |
|
| PUBLISH_USBRESET | 0x180 |
Publish configuration for event USBRESET |
|
| PUBLISH_STARTED | 0x184 |
Publish configuration for event STARTED |
|
| PUBLISH_ENDEPIN[n] | 0x188 |
Publish configuration for event ENDEPIN[n] |
|
| PUBLISH_EP0DATADONE | 0x1A8 |
Publish configuration for event EP0DATADONE |
|
| PUBLISH_ENDISOIN | 0x1AC |
Publish configuration for event ENDISOIN |
|
| PUBLISH_ENDEPOUT[n] | 0x1B0 |
Publish configuration for event ENDEPOUT[n] |
|
| PUBLISH_ENDISOOUT | 0x1D0 |
Publish configuration for event ENDISOOUT |
|
| PUBLISH_SOF | 0x1D4 |
Publish configuration for event SOF |
|
| PUBLISH_USBEVENT | 0x1D8 |
Publish configuration for event USBEVENT |
|
| PUBLISH_EP0SETUP | 0x1DC |
Publish configuration for event EP0SETUP |
|
| PUBLISH_EPDATA | 0x1E0 |
Publish configuration for event EPDATA |
|
| SHORTS | 0x200 |
Shortcuts between local events and tasks |
|
| INTEN | 0x300 |
Enable or disable interrupt |
|
| INTENSET | 0x304 |
Enable interrupt |
|
| INTENCLR | 0x308 |
Disable interrupt |
|
| EVENTCAUSE | 0x400 |
Details on what caused the USBEVENT event |
|
| HALTED.EPIN[n] | 0x420 |
IN endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint. |
|
| HALTED.EPOUT[n] | 0x444 |
OUT endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint. |
|
| EPSTATUS | 0x468 |
Provides information on which endpoint's EasyDMA registers have been captured |
|
| EPDATASTATUS | 0x46C |
Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event) |
|
| USBADDR | 0x470 |
Device USB address |
|
| BMREQUESTTYPE | 0x480 |
SETUP data, byte 0, bmRequestType |
|
| BREQUEST | 0x484 |
SETUP data, byte 1, bRequest |
|
| WVALUEL | 0x488 |
SETUP data, byte 2, LSB of wValue |
|
| WVALUEH | 0x48C |
SETUP data, byte 3, MSB of wValue |
|
| WINDEXL | 0x490 |
SETUP data, byte 4, LSB of wIndex |
|
| WINDEXH | 0x494 |
SETUP data, byte 5, MSB of wIndex |
|
| WLENGTHL | 0x498 |
SETUP data, byte 6, LSB of wLength |
|
| WLENGTHH | 0x49C |
SETUP data, byte 7, MSB of wLength |
|
| SIZE.EPOUT[n] | 0x4A0 |
Number of bytes received last in the data stage of this OUT endpoint |
|
| SIZE.ISOOUT | 0x4C0 |
Number of bytes received last on this ISO OUT data endpoint |
|
| ENABLE | 0x500 |
Enable USB |
|
| USBPULLUP | 0x504 |
Control of the USB pull-up |
|
| 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 | 0x50C |
Data toggle control and status |
|
| EPINEN | 0x510 |
Endpoint IN enable |
|
| EPOUTEN | 0x514 |
Endpoint OUT enable |
|
| EPSTALL | 0x518 |
STALL endpoints |
|
| ISOSPLIT | 0x51C |
Controls the split of ISO buffers |
|
| FRAMECNTR | 0x520 |
Returns the current value of the start of frame counter |
|
| LOWPOWER | 0x52C |
Controls USBD peripheral Low-power mode during USB suspend |
|
| ISOINCONFIG | 0x530 |
Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent |
|
| EPIN[n].PTR | 0x600 |
Data pointer |
|
| EPIN[n].MAXCNT | 0x604 |
Maximum number of bytes to transfer |
|
| EPIN[n].AMOUNT | 0x608 |
Number of bytes transferred in the last transaction |
|
| ISOIN.PTR | 0x6A0 |
Data pointer |
|
| ISOIN.MAXCNT | 0x6A4 |
Maximum number of bytes to transfer |
|
| ISOIN.AMOUNT | 0x6A8 |
Number of bytes transferred in the last transaction |
|
| EPOUT[n].PTR | 0x700 |
Data pointer |
|
| EPOUT[n].MAXCNT | 0x704 |
Maximum number of bytes to transfer |
|
| EPOUT[n].AMOUNT | 0x708 |
Number of bytes transferred in the last transaction |
|
| ISOOUT.PTR | 0x7A0 |
Data pointer |
|
| ISOOUT.MAXCNT | 0x7A4 |
Maximum number of bytes to transfer |
|
| ISOOUT.AMOUNT | 0x7A8 |
Number of bytes transferred in the last transaction |