GUCTL

         Global User Control Register
  
  This register provides a few options for the software to control the controller behavior in Host mode.
      
Module Instance Base Address Register Address
i_usb31_0__ahb_slave__11000000__DWC_usb31_block_gbl__SEG_L4_AHB_USB1_0x0_0x100000 0x1100C100 0x1100C12C

Size: 32

Offset: 0x2C

Access: RW

Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

REFCLKPER

RW 0x32

NoExtrDl

RW 0x0

DMAIgnoreHCE

RW 0x0

IgnoreHCETimeout

RW 0x0

EN_EXTD_TBC_CAP

RW 0x0

SprsCtrlTransEn

RW 0x0

ResBwHSEPS

RW 0x1

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

reserved_15

RW 0x0

USBHstInImmRetryEn

RW 0x1

reserved_13

RW 0x0

ExtCapSupptEN

RW 0x0

InsrtExtrFSBODI

RW 0x1

DTOUT

RW 0x2

GUCTL Fields

Bit Name Description Access Reset
31:22 REFCLKPER
REFCLKPER
  
  This field indicates the period of ref_clk, in terms of nano seconds. 
  
  The valid programmable values of this field are as follows:
   - 'h19: 25ns (integer corresponding to the supported ref_clk frequencies of 39.7 MHz)
   - 'h29: 41ns (integer corresponding to the supported ref_clk frequency of 24 MHz)
   - 'h32: 50ns (integer corresponding to the supported ref_clk frequency of 20 MHz)
   - 'h34: 52ns (integer corresponding to the supported ref_clk frequency of 19.2MHz)
   - 'h3A: 58ns (integer corresponding to the supported ref_clk frequency of 17 MHz)
   - 'h3E: 62ns (integer corresponding to the supported ref_clk frequency of 16 MHz) 
  
  This field needs to be updated during power-on initialization.
RW 0x32
21 NoExtrDl
No Extra Delay Between SOF and the First Packet(NoExtrDl)
  
  Some HS devices misbehave when the host sends a packet immediately after a SOF. However, adding an extra delay between a SOF and the first packet can reduce the USB data rate and performance. 
  
  This bit is used to control whether the host must wait for 2 microseconds before it sends the first packet after a SOF, or not. User can set this bit to one to improve the performance if those problematic devices are not a concern in the user's host environment.
   - 1'b0: Host waits for 2 microseconds after a SOF before it sends the first USB packet.
   - 1'b1: Host doesn't wait after a SOF before it sends the first USB packet.
RW 0x0
20 DMAIgnoreHCE
DMA Ignore HCE
  
RW 0x0
19 IgnoreHCETimeout
IgnoreHCETimeout
  
RW 0x0
18 EN_EXTD_TBC_CAP
When set, the Extended TBC Capability is reported in HCCPARAMS2 if the DWC_USB31_EXTD_TBC_CAP_EN parameter is enabled.
RW 0x0
17 SprsCtrlTransEn
Sparse Control Transaction Enable
  
  Some devices are slow in responding to Control transfers. Scheduling multiple transactions in one microframe/frame can cause these devices to misbehave.
  
  If this bit is set to 1'b1, the host controller schedules each phase of a Control transfer in different microframes/frames.
  
RW 0x0
16 ResBwHSEPS
Reserving 85% Bandwidth for HS Periodic EPs (ResBwHSEPS)
   - 1'b0: HC reserves 80% of the bandwidth for periodic EPs. 
   - 1'b1: HC relaxes the bandwidth to 85% to accommodate two high-speed high-bandwidth ISOC EPs.
  USB 2.0 required 80% bandwidth allocated for ISOC traffic. If two high-bandwidth ISOC devices (HD Webcams) are connected and each device requires 1024-bytes X 3 packets per micro-frame, then the bandwidth required is around 82%. If this bit is set, then it is possible to connect two Webcams of 1024bytes X 3 paylod per micro-frame each. Otherwise, you may have to reduce the resolution of the Webcams.
  
  This bit is valid in Host mode operation only. This field is ignored for device mode.
RW 0x1
15 reserved_15
Reserved
RW 0x0
14 USBHstInImmRetryEn
Host IN Immediate Retry (USBHstInImmRetryEn)
  
  When set, this field enables the Immediate Retry feature. For IN transfers (non-isochronous) that encounter data packets with CRC errors or internal overrun scenarios, the immediate retry feature causes the Host controller to reply to the device with a non-terminating retry ACK (that is, an ACK transaction packet with Retry = 1 and NumP != 0). 
  
  If the Immediate Retry feature is disabled, the controller will respond with a terminating retry ACK (that is, an ACK transaction packet with Retry = 1 and NumP = 0).
   - 1'b0: Immediate Retry Disabled 
   - 1'b1: Immediate Retry Enabled
RW 0x1
13 reserved_13
Reserved
RW 0x0
12 ExtCapSupptEN
External Extended Capability Support Enable (ExtCapSuptEN)
  
  When set, this field enables extended capabilities to be implemented outside the controller. 
  
  When the ExtCapSupEN is set and the Debug Capability is enabled, the Next Capability pointer in "Debug Capability" returns 16.
  
  A read to the first DWORD of the last internal extended capability (the "xHCI Supported Protocol Capability for USB 3.1" when the Debug Capability is not enabled) returns a value of 4 in the Next Capability Pointer field. 
  
  This indicates to software that there is another capability four DWORDs after this capability (for example, at address N+16 where N is the address of this DWORD).
  If enabled, an external address decoder that snoops the xHC slave interface must be implemented.   If it sees an access to N+16 or greater, the slave access is re-routed to a piece of hardware which returns the external capability pointer register of the new capability and also handles reads/writes to this new capability and the side effects.
  
  If disabled, a read to the first DWORD of the last internal extended capability returns 0 in the 'Next Capability Pointer field. This indicates there are no more capabilities.
  
RW 0x0
11 InsrtExtrFSBODI
Insert Extra Delay Between FS Bulk OUT Transactions (InsrtExtrFSBODl).
  
  Some FS devices are slow to receive Bulk OUT data and can get stuck when there are consecutive Bulk OUT transactions with short inter-transaction delays. This bit is used to control whether the host inserts extra delay between consecutive Bulk OUT transactions to a FS Endpoint.
   - 1'b0: Host doesn't insert extra delay between consecutive Bulk OUT transactions to a FS Endpoint.
   - 1'b1: Host inserts about 12us extra delay between consecutive Bulk OUT transactions to a FS Endpoint to work around the device issue.
  Note: Setting this bit to one will reduce the Bulk OUT transfer performance for FS devices.
  
RW 0x1
10:0 DTOUT
Device Timeout (DTOUT)
  This field is Host mode parameter which determines how long the host waits for response from Enhanced SuperSpeed Device before considering the transaction to be timeout. Each count indicates duration in terms of 125us.
  For example a value of 1 indicates timeout at the minimum of 125us and maximum of 250us. The maximum value that can be programmed is 200 which sets 25ms as timeout time (minimum is 25ms and maximum is 25.125ms).
  
RW 0x2