GUSB3PIPECTL
Global USB 3.1 PIPE Control Register
The application uses this register to configure the USB 3.1 PHY and PIPE interface.
Device-only configuration requires only one register. In Host mode, registers are implemented for each port.
Note:
- For more details on the GUSB3PIPECTLn bits, refer to section <link:ext>DWC_usb31_user:GUSB3PIPECTLn_UG,"GUSB3PIPECTLn"</link> in the <link:ext>DWC_usb31_user:Title,User Guide</link>.
- GUSB3PIPECTLn registers are not applicable for USB 2.0-only mode.
Module Instance | Base Address | Register Address |
---|---|---|
i_usb31_0__ahb_slave__11000000__DWC_usb31_block_gbl__SEG_L4_AHB_USB1_0x0_0x100000
|
0x1100C100
|
0x1100C100
|
Size: 32
Offset: 0x
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
GUSB3PIPECTL Fields
Bit | Name | Description | Access | Reset |
---|---|---|---|---|
31 |
PHYSoftRst
|
USB 3.1 PHY Soft Reset PHY soft-reset; to issue PHY reset, software should set this bit and reset this bit after meeting PHY reset timing. |
RW
|
0x0
|
30 |
HstPrtCmpl
|
HstPrtCmpl This feature tests the PIPE PHY compliance patterns without having to have a test fixture on the USB 3.1 cable. This bit enables placing the SS port link into a compliance state. In compliance lab testing, the SS port link enters compliance after failing the first polling sequence after power on. Set this bit to 0, when you run compliance tests. The sequence for using this functionality is as follows: - 1. Disconnect any plugged in devices. - 2. Perform USBCMD.HCRST or power-on-chip reset. - 3. Set PORTSC.PP=0. - 4. Set GUSB3PIPECTL. HstPrtCmpl=1. This places the link into compliance state. To advance the compliance pattern, follow this sequence (toggle the set GUSB3PIPECTL. HstPrtCmpl): - 1. Set GUSB3PIPECTL.HstPrtCmpl=0. - 2. Set GUSB3PIPECTL.HstPrtCmpl=1. This advances the link to the next compliance pattern. To exit from the compliance state perform USBCMD.HCRST or power-on-chip reset. |
RW
|
0x0
|
29 |
U2P3ok
|
Enable P3 entry during U2/SSInactive (U2P3ok). This is not recommended with Synopsys PHY which has P3 exit time of ~1ms and P2 exit time of ~100uS. This is recommended only if your PHYs P3 exit time is close to P2 exit time. Putting the ESS PHY in P3 during U2 would affect ESS Asynchronous endpoint performance and also this could prevent U2 entry if there are ESS periodic endpoints and their BInterval is in the sub milli-second range. rammer's Guide for more details. - 0: During link state U2/ESS.Inactive, put PHY in P2 (Default) - 1: During link state U2/ESS.Inactive, put PHY in P3 (Not recommended for Synopsys PHY). Note: For a port, if GUSB3PIPECTL[7]=1 and GUSB3PIPECTL[29]=1, set GUSB3PIPECTL[11] to 1. |
RW
|
0x0
|
28 |
DisRxDetP3
|
Disabled receiver detection in P3 (DisRxDetP3) - 0: If PHY is in P3 and controller needs to perform receiver detection, The controller performs receiver detection in P3. - 1: If PHY is in P3 and controller needs to perform receiver detection, The controller changes the PHY power state to P2 and then performs receiver detection. After receiver detection, the cores changes PHY power state to P3. |
RW
|
0x0
|
27 |
Ux_exit_in_Px
|
Ux Exit in Px (Ux_exit_in_Px) - 0: The controller does U1/U2/U3 exit in PHY power state P0. - 1: The controller does U1/U2/U3 exit in PHY power state P1/P2/P3 respectively. This bit is added for SS PHY workaround where SS PHY injects a glitch on pipe_RxElecIdle while receiving Ux exit LFPS, and pipe_PowerDown change is in progress. Note: This bit is used by third-party SS PHY. It must be set to '0' for Synopsys PHY. |
RW
|
0x0
|
26 |
ping_enhancement_en
|
Ping Enhancement Enable (ping_enhancement_en) When set, the Downstream port U1 ping receive timeout becomes 500 ms instead of 300 ms. Minimum Ping.LFPS receive duration is 8 ns (one mac31_clk). This field is valid for the downstream port only. Note: This bit is used by third-party SS PHY. It must be set to '0' for Synopsys PHY. |
RW
|
0x0
|
25 |
u1u2exitfail_to_recov
|
U1U2exitfail to Recovery (u1u2exitfail_to_recov) When set, and U1/U2 LFPS handshake fails, the LTSSM transitions from U1/U2 to Recovery instead of SS Inactive. If Recovery fails, then the LTSSM can enter SS.Inactive. This is an enhancement only. It prevents interoperability issue if the remote link does not do proper handshake. |
RW
|
0x0
|
24 |
request_p1p2p3
|
Always Request P1/P2/P3 for U1/U2/U3 (request_p1p2p3) When set, the controller always requests PHY power change from P0 to P1/P2/P3 during U0 to U1/U2/U3 transition. If this bit is 0, and immediate Ux exit (remotely initiated, or locally initiated) happens, the controller does not request P1/P2/P3 power state change. Note: This bit must be set to '1' for Synopsys PHY. For third-party SS PHY, check with your PHY vendor. |
RW
|
0x1
|
23 |
StartRxDetU3RxDet
|
Start Receiver Detection in U3/Rx.Detect (StartRxdetU3RxDet) If DWC_USB31_GUSB3PIPECTL_INIT[22] is set, and the link is in either U3 or Rx.Detect state, the controller starts receiver detection on the rising edge of this bit. This can only be used for Downstream ports. This bit must be set to '0' for Upstream ports. This feature must not be enabled for normal operation. If have to use this feature, contact Synopsys. |
WO
|
0x0
|
22 |
DisRxDetU3RxDet
|
Disable Receiver Detection in U3/Rx.Det When set, the controller does not handle receiver detection in either U3 or Rx.Detect states. DWC_USB31_GUSB3PIPECTL_INIT[23] must be used to start receiver detection manually. This bit can only be used for the downstream port. This bit must be set to "0" for Upstream ports. This feature must not be enabled for normal operation. If you have to use this feature, contact Synopsys. |
RW
|
0x0
|
21:19 |
DelayP1P2P3
|
Delay P1P2P3 Delay P0 to P1/P2/P3 request when entering U1/U2/U3 until (DWC_USB31_GUSB3PIPECTL_INIT[21:19]*8) 8B10B error occurs, or Pipe3_RxValid drops to 0. DWC_USB31_GUSB3PIPECTL_INIT[18] must be 1 to enable this functionality. |
RW
|
0x0
|
18 |
DELAYP1TRANS
|
Delay PHY power change from P0 to P1/P2/P3 when link state changing from U0 to U1/U2/U3 respectively. - 1'b1: When entering U1/U2/U3, delay the transition to P1/P2/P3 until the pipe signals, pipe_RxElecIdle is 1 and pipe_RxValid is 0 - 1'b0: When entering U1/U2/U3, transition to P1/P2/P3 without checking for pipe_RxElecIdle and pipe_RxValid. Note: This bit should be set to 0 for Synopsys USB 3.1 PHY. |
RW
|
0x0
|
17 |
SUSPENDENABLE
|
Suspend USB 3.1 ESS PHY (Suspend_en) When set, and if Suspend conditions are valid, the USB 3.1 PHY enters Suspend mode. For DRD configurations, it is recommended that this bit is set to '0' during coreConsultant configuration. If it is set to '1', then the application must clear this bit after power-on reset. Application needs to set it to '1' after the controller initialization is completed. If software is not going to change the controller from device to host mode or vice versa after power-on reset, then the software does not need to clear this bit. This ensures that the PHY clock is available when the software changes the GCTL.PRTCAPDIR register field. For all other configurations, this bit can be set to '1' during controller configuration. Must be 1 if need special support of P3, P3.CPM and P4 in several LTSSM states. |
RW
|
0x1
|
16:15 |
DATWIDTH
|
PIPE Data Width (DatWidth) - 2'b00: 32 bits - 2'b01: 16 bits - 2'b10: 8 bits One clock after reset, these bits receive the value seen on the pipe_DataBusWidth. The simulation testbench uses the coreConsultant parameter to configure the VIP. These bits in the coreConsultant parameter must match your PHY data width and the pipe_DataBusWidth port. |
RO
|
0x1
|
14 |
AbortRxDetInU2
|
Abort Rx Detect in U2 (AbortRxDetInU2) When set, and the link state is U2, then the controller will abort receiver detection if it receives U2 exit LFPS from the remote link partner. This bit is for the downstream port only. Note: This bit is used by third-party SS PHY. It must be set to '0' for Synopsys PHY. |
RW
|
0x0
|
13 |
SkipRxDet
|
Skip Rx Detect: When set, the controller skips Rx Detection if pipe_RxElecIdle is low. Skip is defined as waiting for the appropriate timeout, then repeating the operation. |
RW
|
0x0
|
12 |
LFPSP0Algn
|
LFPS P0 Align When this bit is set, LFPS during U1/U2/U3 exit is extended until data is ready at the PIPE to ensure the 20-ns gap between LFPS and SS/SSP. |
RW
|
0x1
|
11 |
P3P2TranOK
|
P3 P2 Transitions OK (P3P2TranOK) When set, the controller transitions directly from Phy power state P2 to P3 or from state P3 to P2. When not set, P0 is always entered as an intermediate state during transitions between P2 and P3, as defined in the PIPE4 Specification. According to the PIPE4 Specification, any direct transition between P3 and P2 is illegal. This bit is used only for some non-Synopsys PHYs that cannot do LFPS in P3. Note: This bit is used by third-party SS PHY. It must be set to '0' for Synopsys PHY. |
RW
|
0x0
|
10 |
P3ExSigP2
|
P3 Exit Signal in P2 (P3ExSigP2) When this bit is set, the controller always changes the PHY power state to P2, before attempting a U3 exit handshake. Note: This bit is used by third-party SS PHY. It must be set to '0' for Synopsys PHY. |
RW
|
0x0
|
9 |
LFPSFILTER
|
LFPS Filter (LFPSFilt) When set, filter LFPS reception with pipe_RxValid in PHY power state P0, that is, ignore LFPS reception from the PHY unless both pipe_Rxelecidle and pipe_RxValid are deasserted. |
RW
|
0x0
|
8 |
RX_DETECT_to_Polling_LFPS_Control
|
RX_DETECT to Polling.LFPS Control - 1'b0: Enables a 400us delay to start Polling LFPS after RX_DETECT. This allows VCM offset to settle to a proper level. - 1'b1: Disables the 400us delay to start Polling LFPS after RX_DETECT. During controller certification with third party PHY it is observed that the PHY is not able to meet the Tx AC common mode voltage active (VTX-CM-ACPP_ACTIVE <100mv) if the link starts polling within 80us from the time rx.detect is performed. To meet this VTX-CM-ACPP_ACTIVE specification, the polling must be delayed further. If the PHY does not have issue then they can set this bit to 1 which allows polling to start within 80us. |
RW
|
0x1
|
7 |
reserved_7
|
Reserved |
RW
|
0x0
|
6 |
TX_SWING
|
Tx Swing (TxSwing) Refer to the PIPE Specification. |
RW
|
0x0
|
5:3 |
TX_MARGIN
|
Tx Margin[2:0] (TxMargin) Refer to Table 5-3 of the PIPE4 Specification. |
RW
|
0x0
|
2:1 |
SS_TX_DE_EMPHASIS
|
Tx Deemphasis (TxDeemphasis) The value driven to the PHY is controlled by the LTSSM during USB 3.1 Compliance mode. (Refer to Table 5-3 of the PIPE Specification.) |
RW
|
0x1
|
0 |
ELASTIC_BUFFER_MODE
|
Elastic Buffer Mode (ElasticBufferMode) (Refer to Table 5-3 of the PIPE Specification.) |
RW
|
0x0
|