Registers

nRF5340 Product Specification

Instances

Instance Domain Base address TrustZone Split access Description
Map Att DMA

USBD : S
USBD : NS

APPLICATION

0x50036000
0x40036000

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