Zynq UltraScale+ Devices Register Reference > Module Summary > USB3_XHCI Module > GUSB2PHYCFG (USB3_XHCI) Register
Register Name | GUSB2PHYCFG |
---|---|
Relative Address | 0x000000C200 |
Absolute Address |
0x00FE20C200 (USB3_0_XHCI) 0x00FE30C200 (USB3_1_XHCI) |
Width | 32 |
Type | mixedMixed types. See bit-field details. |
Reset Value | 0x00000000 |
Description | Global USB2 PHY Configuration Register The application must program this register before starting any transactions on either the SoC bus or the USB. In Device-only configurations, only one register is needed. In Host mode, per-port registers are implemented. |
Field Name | Bits | Type | Reset Value | Description |
---|---|---|---|---|
PHYSOFTRST | 31 | rwNormal read/write | 0 | UTMI PHY Soft Reset (PHYSoftRst) Causes the usb2phy_reset signal to be asserted to reset a UTMI PHY. Not applicable to ULPI because ULPI PHYs are reset via their FunctionControl.Reset register, and the core automatically writes to this register when the core is reset (vcc_reset_n, USBCMD.HCRST, DCTL.SoftReset, or GCTL.SoftReset) |
U2_FREECLK_EXISTS | 30 | rwNormal read/write | 0 | U2_FREECLK_EXISTS Specifies whether your USB 2.0 PHY provides a free-running PHY clock, which is active when the clock control input is active. If your USB 2.0 PHY provides a free-running PHY clock, it must be connected to the utmi_clk[0] input. The remaining utmi_clk[n] must be connected to the respective port clocks. The core uses the Port-0 clock for generating the internal mac2 clock. - 1b0: USB 2.0 free clock does not exist - 1b1: USB 2.0 free clock exists Note: When the core is configured as device-only (DWC_USB3_MODE = 0), do not set this bit to 1. |
ULPI_LPM_WITH_OPMODE_CHK | 29 | rwNormal read/write | 0 | ULPI_LPM_WITH_OPMODE_CHK Support the LPM over ULPI without NOPID token to the ULPI PHY. If this bit is set, the ULPI PHY is expected to qualify the EXT PID with OPMODE=2b00 for LPM and not treat it as a NOPID. Check with your PHY vendor about your PHY behavior. This bit is valid only when the DWC_USB3_HSPHY_INTERFACE parameter is 2 or 3. - 1b0: A NOPID is sent before sending an EXTPID for LPM; - 1b1: An EXTPID is sent without previously sending a NOPID; Note: This bit is valid only in host mode. This bit should be 0 for PHY. |
HSIC_CON_WIDTH_ADJ | 28:27 | roRead-only | 0 | HSIC_CON_WIDTH_ADJ This bit is used in the HSIC device mode of operation. By default, the connect duration for the HSIC device controller is thrice the strobe period. You can change this duration to 4, 5, or 6 times the strobe period by setting the value of this field to 1, 2, or 3. This value is added to the default connect duration. |
INV_SEL_HSIC | 26 | roRead-only | 0 | INV_SEL_HSIC The application driver uses this bit to control the HSIC enable/disable function. When set to 1, this bit overrides and functionally inverts the if_select_hsic input signal. If {INV_SEL_HSIC, if_select_hsic} is: - 00: HSIC Capability is disabled. - 01: HSIC Capability is enabled. - 10: HSIC Capability is enabled. - 11: HSIC Capability is disabled. If the controller operates as non-HSIC-capable, it can only connect to non-HSIC-capable PHYs. If it operates as HSIC-capable, it can connect to HSIC-capable PHYs. This bit is reserved if the DWC_USB3_ENABLE_HSIC parameter is set to 0. When selecting the HSIC feature, set the host side to HSIC mode first, then set the device mode side. If the device side is set to HSIC mode first and if the host does not see a connection in HSIC mode, then you must de-select the device HSIC mode and select it again using the if_select_hsic setting or register bit GUSB2PHYCFGn[26] to ensure that the device can connect to the host. |
Reserved | 25 | roRead-only | 0x0 | Reserved |
LSTRD | 24:22 | rwNormal read/write | 0 | LS Turnaround Time (LSTRDTIM) This field indicates the value of the Rx-to-Tx packet gap for LS devices. The encoding is as follows: - 0: 2 bit times - 1: 2.5 bit times - 2: 3 bit times - 3: 3.5 bit times - 4: 4 bit times - 5: 4.5 bit times - 6: 5 bit times - 7: 5.5 bit times Note: - This field is applicable only in Host mode. - For normal operation (to work with most LS devices), set the default value of this field to 3h0 (2 bit times). - The programmable LS device inter-packet gap and turnaround delays are provided to support some legacy LS devices that might require different delays than the default/fixed ones. For instance, the Open LS mouse requires 3 bit times of inter-packet gap to work correctly. - Include your PHY delays when programming the LSIPD/LSTRDTIM values. For example, if your PHYs TxEndDelay in LS mode is 30 UTMI/ULPI CLKs, then subtract this delay (~1 LS bit time) from the devices delay requirement. |
LSIPD | 21:19 | rwNormal read/write | 0 | LS Inter-Packet Time (LSIPD) This field indicates the value of Tx-to-Tx packet gap for LS devices. The encoding is as follows: - 0: 2 bit times - 1: 2.5 bit times - 2: 3 bit times - 3: 3.5 bit times - 4: 4 bit times - 5: 4.5 bit times - 6: 5 bit times - 7: 5.5 bit times Note: - This field is applicable only in Host mode. - For normal operation (to work with most LS devices), set the default value of this field to 3h2 (3 bit times). - The programmable LS device inter-packet gap and turnaround delays are provided to support some legacy LS devices that might require different delays than the default/fixed ones. For instance, the AOpen LS mouse requires 3 bit times of inter-packet gap to work correctly. - Include your PHY delays when programming the LSIPD/LSTRDTIM values. For example, if your PHYs TxEndDelay in LS mode is 30 UTMI/ULPI CLKs, then subtract this delay (~1 LS bit time) from the devices delay requirement. |
ULPIEXTVBUSINDIACTOR | 18 | rwNormal read/write | 0 | ULPI External VBUS Indicator (ULPIExtVbusIndicator) Indicates the ULPI PHY VBUS over-current indicator. - 1b0: PHY uses an internal VBUS valid comparator. - 1b1: PHY uses an external VBUS valid comparator. Valid only when RTL parameter DWC_USB3_HSPHY_INTERFACE = 2 or 3 |
ULPIEXTVBUSDRV | 17 | rwNormal read/write | 0 | ULPI External VBUS Drive (ULPIExtVbusDrv) Selects supply source to drive 5V on VBUS, in the ULPI PHY. - 1b0: PHY drives VBUS with internal charge pump (default). - 1b1: PHY drives VBUS with an external supply. (Only when RTL parameter DWC_USB3_HSPHY_INTERFACE = 2 or 3) |
Reserved | 16 | roRead-only | 0x0 | Reserved |
ULPIAUTORES | 15 | rwNormal read/write | 0 | ULPI Auto Resume (ULPIAutoRes) Sets the AutoResume bit in Interface Control register on the ULPI PHY. - 1b0: PHY does not use the AutoResume feature. - 1b1: PHY uses the AutoResume feature. Valid only when RTL parameter DWC_USB3_HSPHY_INTERFACE = 2 or 3 |
Reserved | 14 | roRead-only | 0x0 | Reserved |
USBTRDTIM | 13:10 | rwNormal read/write | 0 | USB 2.0 Turnaround Time (USBTrdTim) Sets the turnaround time in PHY clocks. Specifies the response time for a MAC request to the Packet FIFO Controller (PFC) to fetch data from the DFIFO (SPRAM). The following are the required values for the minimum SoC bus frequency of 60 MHz. USB turnaround time is a critical certification criteria when using long cables and five hub levels. The required values for this field: - 4h5: When the MAC interface is 16-bit UTMI+. - 4h9: When the MAC interface is 8-bit UTMI+/ULPI. If SoC bus clock is less than 60 MHz, and USB turnaround time is not critical, this field can be set to a larger value. Note: This field is valid only in device mode. |
XCVRDLY | 9 | rwNormal read/write | 0 | Transceiver Delay: Enables a delay between the assertion of the UTMI/ULPI Transceiver Select signal (for HS) and the assertion of the TxValid signal during a HS Chirp. When this bit is set to 1, a delay (of approximately 2.5 us) is introduced from the time when the Transceiver Select is set to 2b00 (HS) to the time the TxValid is driven to 0 for sending the chirp-K. This delay is required for some UTMI/ULPI PHYs. Note: - If you enable the hibernation feature when the device core comes out of power-off, you must re-initialize this bit with the appropriate value because the core does not save and restore this bit value during hibernation. - This bit is valid only in device mode. |
ENBLSLPM | 8 | rwNormal read/write | 0 | Enable utmi_sleep_n and utmi_l1_suspend_n (EnblSlpM) The application uses this bit to control utmi_sleep_n and utmi_l1_suspend_n assertion to the PHY in the L1 state. - 1b0: utmi_sleep_n and utmi_l1_suspend_n assertion from the core is not transferred to the external PHY. - 1b1: utmi_sleep_n and utmi_l1_suspend_n assertion from the core is transferred to the external PHY. Note: This bit must be set high for Port0 if PHY is used. Note: In Device mode - Before issuing any device endpoint command when operating in 2.0 speeds, disable this bit and enable it after the command completes. Without disabling this bit, if a command is issued when the device is in L1 state and if mac2_clk (utmi_clk/ulpi_clk) is gated off, the command will not get completed. |
PHYSEL | 7 | woWrite-only | 0 | USB 2.0 High-Speed PHY or USB 1.1 Full-Speed Serial Transceiver Select The application uses this bit to select a high-speed PHY or a full-speed transceiver. - 1b0: USB 2.0 high-speed UTMI+ or ULPI PHY. This bit is always 0, with Write Only access. - 1b1: USB 1.1 full-speed serial transceiver. This bit is always 1, with Write Only access. Note: USB 1.1 full-serial transceiver is not supported. This bit always reads as 1b0. |
SUSPENDUSB20 | 6 | rwNormal read/write | 0 | Suspend USB2.0 HS/FS/LS PHY (SusPHY) When set, USB2.0 PHY enters Suspend mode if Suspend conditions are valid. Note: - In host mode, on reset, this bit is set to 1. Software can override this bit after reset. - In device mode, before issuing any device endpoint command when operating in 2.0 speeds, disable this bit and enable it after the command completes. If you issue a command without disabling this bit when the device is in L2 state and if mac2_clk (utmi_clk/ulpi_clk) is gated off, the command will not get completed. |
FSINTF | 5 | roRead-only | 0 | Full-Speed Serial Interface Select (FSIntf) The application uses this bit to select a unidirectional or bidirectional USB 1.1 full-speed serial transceiver interface. - 1b0: 6-pin unidirectional full-speed serial interface. This bit is set to 0 with Read Only access. - 1b1: 3-pin bidirectional full-speed serial interface. This bit is set to 0 with Read Only access. Note: USB 1.1 full-speed serial interface is not supported. This bit always reads as 1b0. |
ULPI_UTMI_Sel | 4 | roRead-only | 0 | ULPI or UTMI+ Select (ULPI_UTMI_Sel) The application uses this bit to select a UTMI+ or ULPI Interface. - 1b0: UTMI+ Interface - 1b1: ULPI Interface |
PHYIF | 3 | rwNormal read/write | 0 | PHY Interface (PHYIf) If UTMI+ is selected, the application uses this bit to configure the core to support a UTMI+ PHY with an 8- or 16-bit interface. - 1b0: 8 bits - 1b1: 16 bits ULPI Mode: 1b0 Note: - All the enabled 2.0 ports must have the same clock frequency as Port0 clock frequency (utmi_clk[0]). - The UTMI 8-bit and 16-bit modes cannot be used together for different ports at the same time (that is, all the ports must be in 8-bit mode, or all of them must be in 16-bit mode, at a time). - If any of the USB 2.0 ports is selected as ULPI port for operation, then all the USB 2.0 ports must be operating at 60 MHz. |
TOutCal | 2:0 | rwNormal read/write | 0 | HS/FS Timeout Calibration (TOutCal) The number of PHY clocks, as indicated by the application in this field, is multiplied by a bit-time factor; this factor is added to the high-speed/full-speed interpacket timeout duration in the core to account for additional delays introduced by the PHY. This may be required, since the delay introduced by the PHY in generating the linestate condition may vary among PHYs. The USB standard timeout value for high-speed operation is 736 to 816 (inclusive) bit times. The USB standard timeout value for full-speed operation is 16 to 18 (inclusive) bit times. The application must program this field based on the speed of connection. The number of bit times added per PHY clock are: High-speed operation: - One 30-MHz PHY clock = 16 bit times - One 60-MHz PHY clock = 8 bit times Full-speed operation: - One 30-MHz PHY clock = 0.4 bit times - One 60-MHz PHY clock = 0.2 bit times - One 48-MHz PHY clock = 0.25 bit times |