DSTS
Device Status Register
This register indicates the status of the device controller with respect to USB-related events.
Note:
When Hibernation is not enabled, RSS and SSS fields always return 0 when read.
Module Instance | Base Address | Register Address |
---|---|---|
i_usb31_0__ahb_slave__11000000__DWC_usb31_block_dev__SEG_L4_AHB_USB1_0x0_0x100000
|
0x1100C700
|
0x1100C70C
|
Size: 32
Offset: 0xC
Access: RW
Bit Fields | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
|
|
DSTS Fields
Bit | Name | Description | Access | Reset | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31:30 |
reserved_31_30
|
Reserved_31_30 |
RO
|
0x0
|
||||||||||
29 |
DCNRD
|
Device Controller Not Ready The bit indicates that the controller is in the process of completing the state transitions while entering or exiting hibernation. - While entering hibernation, after the DCTL[31].Run/Stop is reset, this gives a window of about 2 to 7 MAC clock cycles plus the bus clock-to-MAC clock round trip synchronization delay to ensure that the correct link state is read by the software. Software must process DSTS.USBLnkSt when this bit goes 0. - While exiting hibernation, to complete the state transitions, it takes 256 bus clock cycles from the time DCTL[31].Run/Stop is set. During hibernation, if the UTMI/ULPI PHY is in suspended state, then the 256-bus clock cycle delay starts after the PHY exited suspended state. Software must set DCTL[31].Run/Stop to '1' and wait for this bit to be de-asserted to zero before processing DSTS.USBLnkSt. This bit is valid only when DWC_USB31_EN_PWROPT is set to 2 and GCTL[1].GblHibernationEn =1. |
RO
|
0x0
|
||||||||||
28 |
SRE
|
Save Restore Error - currently not supported If an error occurs during a Save or Restore operation this bit shall be set to '1'. This bit shall be cleared to '0' when a Save or Restore operation is initiated or when written with '1' |
RW
|
0x0
|
||||||||||
27:26 |
reserved_27_26
|
Reserved |
RO
|
0x0
|
||||||||||
25 |
RSS
|
RSS Restore State Status This bit is similar to the USBSTS.RSS in host mode. When the controller finishes the restore process, it completes the command by setting DSTS.RSS to '0'. |
RO
|
0x0
|
||||||||||
24 |
SSS
|
SSS Save State Status This bit is similar to the USBSTS.SSS in host mode. When the controller has finished the save process, it completes the command by setting DSTS.SSS to '0'. |
RO
|
0x0
|
||||||||||
23 |
COREIDLE
|
Core Idle The bit indicates that the controller finished transferring all RxFIFO data to system memory, writing out all completed descriptors, and all Event Counts are zero. Note: While testing for Reset values, mask out the read value. This bit represents the changing state of the controller and does not hold a static value. |
RO
|
0x0
|
||||||||||
22 |
DEVCTRLHLT
|
Device Controller Halted This bit is set to 0 when the Run/Stop bit in the DCTL register is set to 1. The controller sets this bit to 1 when, after software sets Run/Stop to 0, the controller is idle and the lower layer finishes the disconnect process. When Halted=1, the controller does not generate Device events. Note: The controller does not set this bit to 1 if GEVNTCOUNTn has some valid value. Software needs to acknowledge the events that are generated (by writing to GEVNTCOUNTn) while it is waiting for this bit to be set to 1. |
RO
|
0x1
|
||||||||||
21:18 |
USBLNKST
|
USBLNKST. USB/Link State In SS mode: LTSSM State - 4'h0: U0 - 4'h1: U1 - 4'h2: U2 - 4'h3: U3 - 4'h4: ESS_DIS - 4'h5: RX_DET - 4'h6: ESS_INACT - 4'h7: POLL - 4'h8: RECOV - 4'h9: HRESET - 4'ha: CMPLY - 4'hb: LPBK - 4'hf: Resume/Reset In HS/FS/LS mode: - 4'h0: On state - 4'h2: Sleep (L1) state - 4'h3: Suspend (L2) state - 4'h4: Disconnected state - 4'h5: Early Suspend state (valid only when Hibernation is disabled, GCTL[1].GblHibernationEn = 0) - 4'he: Reset (valid only when Hibernation is enabled, GCTL[1].GblHibernationEn = 1) - 4'hf: Resume (valid only when Hibernation is enabled, GCTL[1].GblHibernationEn = 1) The Resume/Reset link state indicates that the controller received a resume or USB reset request from the host while the link was in hibernation. Software must write '8' (Recovery) to the DCTL.ULStChngReq field to acknowledge the resume/reset request. The Early Suspend link state is an early indication of device suspend in HS/FS. The link state changes to Early Suspend after detecting bus idle for 3ms. - In HS operation, this is an indication that the USB bus (that is, LineState) has been in idle (SE0) for 3ms. However, it does not confirm whether the next process is Suspend or Reset. The device checks the bus again after pull up enable delay and if the line state indicates Suspend (full speed J), then the device waits for additional time (~3ms) to indicate the actual Suspend state. - In FS operation, this is an indication that the USB bus (that is, LineState) has been in idle (J) for 3ms. The device waits for additional time (~3ms of Idle) to indicate the actual Suspend state. When Hibernation is enabled, GCTL[1].GblHibernationEn = 1, this field USBLnkSt is valid only when DSTS[29].DCNRD = 0. |
RO
|
0x0
|
||||||||||
17 |
RXFIFOEMPTY
|
RxFIFO Empty. |
RO
|
0x1
|
||||||||||
16:3 |
SOFFN
|
Frame/Microframe/ITP Number of the Received SOF. When the controller is operating at SuperSpeed/SuperSpeedPlus, - [16:3] indicates the microframe/ITP number When the controller is operating at high-speed, - [16:6] indicates the frame number - [5:3] indicates the microframe number When the controller is operating at full-speed, - [16:14] is not used. Software can ignore these 3 bits - [13:3] indicates the frame number Note: After power-on reset, the controller generates the microframe number internally for every 125us if the USB host has not issued SOF/ITP yet. During P3 state, the duration of SOFFN is based on the suspend_clk frequency. |
RO
|
0x0
|
||||||||||
2:0 |
CONNECTSPD
|
Connected Speed (ConnectSpd) Indicates the speed at which the DWC_usb31 controller has come up after speed detection through an ESS speed negotiation or USB2.0 chirp sequence. - 3'b101: Enhanced SuperSpeed (USB 3.1 PHY clock is running at 156.25 or 312.5 MHz operating at 10Gbps) - 3'b100: SuperSpeed (PHY clock is running at 125 or 250 MHz operating at 5Gbps) - 3'b000: High-speed (PHY clock is running at 30 or 60 MHz) - 3'b001: Full-speed (PHY clock is running at 30 or 60 MHz) Low-speed is not supported for devices using a UTMI+ PHY.
|
RO
|
0x4
|