Address offset: 0x800
Device Configuration Register
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.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | J | J | J | J | J | J | I | I | H | G | F | E | E | D | D | D | D | D | D | D | C | B | A | A | |||||||||||
| Reset 0x08020000 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
DEVSPD |
Device Speed (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 connect sequence is completed, and is based on the speed of the USB host to which the core is connected. |
||||||||||||||||||||||||||||||||
|
USBHS20 |
0 |
High speed USB 2.0 PHY clock is 30 MHz or 60 MHz |
|||||||||||||||||||||||||||||||||
|
USBFS20 |
1 |
Full speed USB 2.0 PHY clock is 30 MHz or 60 MHz |
|||||||||||||||||||||||||||||||||
|
USBLS116 |
2 |
Low speed USB 1.1 transceiver clock is 6 MHz |
|||||||||||||||||||||||||||||||||
|
USBFS1148 |
3 |
Full speed USB 1.1 transceiver clock is 48 MHz |
|||||||||||||||||||||||||||||||||
| B |
RW |
NZSTSOUTHSHK |
Non-Zero-Length Status OUT Handshake (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. |
||||||||||||||||||||||||||||||||
|
SENDOUT |
0 |
Send the received OUT packet to the application (zero-length or non-zero length) and send a handshake based on NAK and STALL bits for the endpoint in the Devce Endpoint Control Register |
|||||||||||||||||||||||||||||||||
|
SENDSTALL |
1 |
Send a STALL handshake on a nonzero-length status OUT transaction and do not send the received OUT packet to the application |
|||||||||||||||||||||||||||||||||
| C |
RW |
ENA32KHZSUSP |
Enable 32 KHz Suspend mode (Ena32KHzSusp) This bit can be set only if FS PHY interface is selected. Otherwise, this bit needs to be set to zero. If FS PHY interface is chosen and this bit is set, the PHY clock during Suspend must be switched from 48 MHz to 32 KHz. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
USB 1.1 Full-Speed Serial Transceiver not selected |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
USB 1.1 Full-Speed Serial Transceiver Interface selected |
|||||||||||||||||||||||||||||||||
| D |
RW |
DEVADDR |
Device Address (DevAddr) The application must program this field after every SetAddress control command. |
||||||||||||||||||||||||||||||||
| E |
RW |
PERFRINT |
Periodic Frame Interval (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. |
||||||||||||||||||||||||||||||||
|
EOPF80 |
0 |
80% of the (micro)Frame interval |
|||||||||||||||||||||||||||||||||
|
EOPF85 |
1 |
85% of the (micro)Frame interval |
|||||||||||||||||||||||||||||||||
|
EOPF90 |
2 |
90% of the (micro)Frame interval |
|||||||||||||||||||||||||||||||||
|
EOPF95 |
3 |
95% of the (micro)Frame interval |
|||||||||||||||||||||||||||||||||
| F |
RW |
XCVRDLY |
XCVRDLY Enables or disables delay between xcvr_sel and txvalid during device chirp |
||||||||||||||||||||||||||||||||
|
DISABLE |
0 |
No delay between xcvr_sel and txvalid during Device chirp |
|||||||||||||||||||||||||||||||||
|
ENABLE |
1 |
Enable delay between xcvr_sel and txvalid during Device chirp |
|||||||||||||||||||||||||||||||||
| G |
RW |
ERRATICINTMSK |
Erratic Error Interrupt Mask |
||||||||||||||||||||||||||||||||
|
NOMASK |
0 |
Early suspend interrupt is generated on erratic error |
|||||||||||||||||||||||||||||||||
|
MASK |
1 |
Mask early suspend interrupt on erratic error |
|||||||||||||||||||||||||||||||||
| H |
RW |
IPGISOCSUPT |
Worst-Case Inter-Packet Gap ISOC OUT Support (ipgisocSupt) This bit indicates that the controller supports the worst-case scenario of Rx followed by Rx Inter-Packet Gap (IPG) (32 bit times) as per the UTMI Specification for any token following an ISOC OUT token. Without this support, when any token follows an ISOC OUT token with the worst-case IPG, the controller does not detect the followed token. The worst-case IPG of the controller without this support depends on the AHB and PHY clock frequency. |
||||||||||||||||||||||||||||||||
|
DISABLED |
0 |
Worst-Case Inter-Packet Gap ISOC OUT Support is disabled |
|||||||||||||||||||||||||||||||||
|
ENABLED |
1 |
Worst-Case Inter-Packet Gap ISOC OUT Support is enabled |
|||||||||||||||||||||||||||||||||
| I |
RW |
PERSCHINTVL |
Periodic Scheduling Interval (PerSchIntvl) PerSchIntvl must be programmed for Scatter/Gather DMA mode. 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. |
||||||||||||||||||||||||||||||||
|
MF25 |
0 |
25% of (micro)Frame |
|||||||||||||||||||||||||||||||||
|
MF50 |
1 |
50% of (micro)Frame |
|||||||||||||||||||||||||||||||||
|
MF75 |
2 |
75% of (micro)Frame |
|||||||||||||||||||||||||||||||||
|
PERSCHINTVLRSVD3 |
3 |
||||||||||||||||||||||||||||||||||
| J |
RW |
RESVALID |
Resume Validation Period (ResValid) This field is effective only when DCFG.Ena32KHzSusp is set. It controls 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 bit is set |
||||||||||||||||||||||||||||||||