dcfg

This register configures the core in Device mode after power-on or after certain control commands or enumeration. Do not make changes to this register after initial programming.
Module Instance Base Address Register Address
usb0 0xFFB00000 0xFFB00800
usb1 0xFFB40000 0xFFB40800

Offset: 0x800

Access: RW

Important: To prevent indeterminate system behavior, reserved areas of memory must not be accessed by software or hardware. Any area of the memory map that is not explicitly defined as a register space or accessible memory is considered reserved.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

resvalid

RW 0x2

perschintvl

RW 0x0

descdma

RW 0x0

Reserved

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Reserved

endevoutnak

RW 0x0

perfrint

RW 0x0

devaddr

RW 0x0

ena32khzsusp

RW 0x0

nzstsouthshk

RW 0x0

devspd

RW 0x0

dcfg Fields

Bit Name Description Access Reset
31:26 resvalid

This field is effective only when DCFG.Ena32KHzSusp is set. It will control the resume period when the core resumes from suspend. The core counts for ResValid number of clock cycles to detect a valid resume when this is set

RW 0x2
25:24 perschintvl

PerSchIntvl must be programmed only for Scatter/Gather DMAmode. Description: This field specifies the amount of time the Internal DMA engine must allocate for fetching periodic IN endpoint data. Based on the number of periodic endpoints, this value must be specified as 25,50 or 75% of (micro)frame. When any periodic endpoints are active, the internal DMA engine allocates the specified amount of time in fetching periodic IN endpoint data . When no periodic endpoints are active, Then the internal DMA engine services non-periodic endpoints, ignoring this field. After the specified time within a (micro)frame, the DMA switches to fetching for non-periodic endpoints. 2'b00: 25% of (micro)frame. 2'b01: 50% of (micro)frame. 2'b10: 75% of (micro)frame. 2'b11: Reserved.Reset: 2'b00Access: read-write

Value Description
0x0 25% of (micro)frame
0x1 50% of (micro)frame
0x2 75% of (micro)frame
0x3 Reserved
RW 0x0
23 descdma

When the Scatter/Gather DMA option selected during configuration of the RTL, the application can Set this bit during initialization to enable the Scatter/Gather DMA operation. This bit must be modified only once after a reset.The following combinations are available for programming: GAHBCFG.DMAEn=0,DCFG.DescDMA=0 => Slave mode GAHBCFG.DMAEn=0,DCFG.DescDMA=1 => Invalid GAHBCFG.DMAEn=1,DCFG.DescDMA=0 => Buffered DMA mode GAHBCFG.DMAEn=1,DCFG.DescDMA=1 => Scatter/Gather DMA mode

Value Description
0x0 Disable Scatter gather DMA
0x1 Enable Scatter gather DMA
RW 0x0
13 endevoutnak

This bit enables setting NAK for Bulk OUT endpoints after the transfer is completed for Device mode Descriptor DMA It is one time programmable after reset like any other DCFG register bits.

Value Description
0x0 The core does not set NAK after Bulk OUT transfer complete
0x1 The core sets NAK after Bulk OUT transfer complete
RW 0x0
12:11 perfrint

Indicates the time within a (micro)frame at which the application must be notified using the End Of Periodic Frame Interrupt. This can be used to determine If all the isochronous traffic for that (micro)frame is complete. 0x0: 80% of the (micro)frame interval 0x1: 85% 0x2: 90% 0x3: 95%

Value Description
0x0 80% of the (micro)frame interval
0x1 85% of the (micro)frame interval
0x2 90% of the (micro)frame interval
0x3 95% of the (micro)frame interval
RW 0x0
10:4 devaddr

The application must program this field after every SetAddress control command.

RW 0x0
3 ena32khzsusp

When the USB 1.1 Full-Speed Serial Transceiver Interface is chosen and this bit is set, the core expects the 48-MHz PHY clock to be switched to 32 KHz during a suspend. This bit can only be set if USB 1.1 Full-Speed Serial Transceiver Interface has been selected. If USB 1.1 Full-Speed Serial Transceiver Interface has not been selected, this bit must be zero.

Value Description
0x0 USB 1.1 Full-Speed Serial Transceiver not selected
0x1 USB 1.1 Full-Speed Serial Transceiver Interface selected
RW 0x0
2 nzstsouthshk

The application can use this field to select the handshake the core sends on receiving a nonzero-length data packet during the OUT transaction of a control transfer's Status stage. 1: Send a STALL handshake on a nonzero-length statusOUT transaction and do not send the received OUT packet tothe application. 0: Send the received OUT packet to the application (zerolengthor nonzero-length) and send a handshake based onthe NAK and STALL bits for the endpoint in the DeviceEndpoint Control register.

Value Description
0x0 Send the received OUT packet to the application zerolength
0x1 Send a STALL handshake on a nonzero-length status OUT transaction and do not send the received OUT packet to the application
RW 0x0
1:0 devspd

Indicates the speed at which the application requires the core to enumerate, or the maximum speed the application can support. However, the actual bus speed is determined only after the chirp sequence is completed, and is based on the speed of the USB host to which the core is connected.

Value Description
0x0 High speed USB 2.0 PHY clock is 30 MHz or 60 MHz
0x1 Full speed USB 2.0 PHY clock is 30 MHz or 60 MHz
0x2 Low speed USB 1.1 transceiver clock is 6 MHz
0x3 Full speed USB 1.1 transceiver clock is 48 MHz
RW 0x0