DWC_usb31_block_gbl Address Map

USB 3.1 Global Register Block
Module Instance Base Address End Address
i_usb31_0__ahb_slave__11000000__DWC_usb31_block_gbl__SEG_L4_AHB_USB1_0x0_0x100000 0x1100C100 0x1100C6FF
Register Group Offset
GUSB2PHYCFG_REGS 0
GUSB2PHYACC_REGS 0
GUSB3PIPECTL_REGS 0
GTXFIFOSIZ_REGS 0
GRXFIFOSIZ_REGS 0
GEVNTADRLO_REGS 0
GUSB2RHBCTL_REGS 0
Register Offset Width Access Reset Value Description
GSBUSCFG0 0x0 32 RW 0x00000001
Global SoC Bus Configuration Register 0
  
  This register configures system bus DMA options for the master bus, which may be configured as AHB, AXI, or Native. Options include burst length and cache type (bufferable/posted, cacheable/snoop, and so on). The application can program this register upon power-on, or a change in mode of operation after the DMA engine is halted.
  
  xHCI Register Power-On Value:
  
  If you are using a standard xHCI host driver, make sure to set the register's power-on value during coreConsultant configuration (DWC_USB31_GSBUSCFG0_INIT parameter) because the standard xHCI driver does not access this register.
  
  For more details on this register, refer to the following sections:
   - <link:ext>07_Registers_additional_info.fm:gsbuscfg0_usage,"Usage of Global SoC Bus Configuration Register 0 (GSBUSCFG0)"</link> section in the <link:ext>DWC_usb31_programming:Title,Programming Guide</link>
   - <link:ext>DWC_usb31_databook:sys_bus_int,"System Bus Interface"</link> section in the <link:ext>DWC_usb31_databook:Title,Databook</link>
GSBUSCFG1 0x4 32 RW 0x00006F00
Global SoC Bus Configuration Register 1
  
  xHCI Register Power-On Value:
  
  If you are using a standard xHCI host driver, make sure to set the register's power-on value during coreConsultant configuration (DWC_USB31_GSBUSCFG1_INIT parameter) because the standard xHCI driver does not access this register.
  
  For more details on this register, refer to the following section:
   - <link:ext>DWC_usb31_databook:sys_bus_int,"System Bus Interface"</link> section in the <link:ext>DWC_usb31_databook:Title,Databook</link>
GTXTHRCFG 0x8 32 RW 0x00F00000
Global Tx Threshold Control Register
   Note:
   - GTXTHRCFG register is not applicable for Debug Target.
   - For more information on threshold settings, see the <link:ext>DWC_usb31_databook:rx_tx_threshold,"Rx and Tx Threshold Settings"</link> section in the Databook.
GRXTHRCFG 0xC 32 RW 0x00F00000
Global Rx Threshold Control Register
  
  There is an issue when ACK TP with NumP=0 followed by ACK TP with NumP=1 without ERDY TP sent by the device controller during a Burst BULK OUT transfer. This may cause third-party 3.0 host controllers to keep waiting for the ERDY TP.
  
  The USB 3.0 Specification states that "When an endpoint is not in a flow control condition, it shall not send an ERDY TP unless the endpoint is a Bulk endpoint that supports streams." In this case, after the device sent the ACK TP (nump=1), the endpoint was not in the flow control, so it did not send an ERDY.
  
  The device would have sent ERDY if the next OUT packet was not received. When the next OUT packet was received, at that time there was enough buffer space to accept it, so the device accepted the packet by informing host that it is no longer in the flow control. The Host should wait for the responses for all the OUT packets to return and then decide if the endpoint is still in flow control or not.
  
  The USB 3.1 Specification supersedes all the USB 3.0 specification. The errata states that "If the host continues, or resumes, transactions to an endpoint, the endpoint shall re-evaluate its flow control state and respond appropriately." However, there are no ECNs on the USB 3.0 for this issue.
  
  To work around this issue, the Global Rx Threshold mode must be disable by setting GRXTHRCFG.UsbRxPktCntSel = '0'. Instead, software can program the DCFG.NUMP mode (where fixed NUMP is transmitted always) instead of the RX threshold based nump mode to prevent the device from sending ACK TP with NumP=0. The NUMP in the ACK TP is the minimum value of (DCFG.NUMP, bMaxBurstSize) for each endpoint.
  
  IN Transfer Concurrency: When threshold mode is enabled, the Host controller disables IN transfer concurrency. The Host controller will execute IN transfers to one endpoint at a time in order to adhere to the maximum throughput limit specified by the threshold settings.
  
  Note:
   - GRXTHRCFG register is not applicable for Debug Target.
   - For more information on threshold settings, see the <link:ext>DWC_usb31_databook:rx_tx_threshold,"Rx and Tx Threshold Settings"</link> section in the <link:ext>DWC_usb31_databook:Title,Databook</link>.
GCTL 0x10 32 RW 0x27112004
Global Core Control Register
  
  Refer to <workspace>/src/DWC_usb31_params.svh for details on `DWC_USB31_GCTL_INIT.
  
GPMSTS 0x14 32 RW 0x00000000
Global Power Management Status Register
  
  This debug register gives information on which event caused the hibernation exit. It provides internal status and state machine information, and is for Synopsys use only for debugging purposes.
GSTS 0x18 32 RW 0x7E800000
Global Status Register
GUCTL1 0x1C 32 RW 0x00001988
Global User Control Register 1
USB31_IP_NAME 0x20 32 RO 0x33313130
IP NAME REGISTER
  
  This is a read-only register that contains the SYNOPSYS IP NAME
GGPIO 0x24 32 RW 0x00000000
Global General Purpose Input/Output Register
  
  The application can use this register for general purpose input and output ports or for debugging.
GUID 0x28 32 RW 0x12345678
Global User ID Register
  
  This is a read/write register containing the User ID. The power-on value for this register is specified as the User Identification Register. Power-on value during coreConsultant configuration (parameter DWC_USB31_USERID). This register can be used in the following ways:
   - To store the version or revision of your system;
   - To store hardware configurations that are outside the controller;
   - As a scratch register.
GUCTL 0x2C 32 RW 0x0C816802
Global User Control Register
  
  This register provides a few options for the software to control the controller behavior in Host mode.
GBUSERRADDRLO 0x30 32 RO 0x00000000
Global SoC Bus Error Address Register - Low
  
  When the AHB or AXI Master Bus returns an "Error" response, the "SoC Bus Error" is generated. In the Host mode, the host_system_err port indicates this condition. In addition, it is also indicated in the USBSTS.HSE field. In the Device mode, the GSTS.BusErrAddrVld field is the only indication of the SoC Bus Error.
  
  Note for AXI configuration:
  
  Due to the nature of AXI, it is possible that multiple AXI transactions are active at a time. The DWC_usb31 controller does not keep track of the start address of all outstanding transactions. Instead, it keeps track of the start address of the DMA transfer associated with all active transactions. It is this address that is reported in the GBUSERRADDR when a bus error occurs.
  
  For example, if the DWC_usb31 controller initiates a DMA transfer to write 1k of packet data starting at buffer address 0xABCD0000, and this DMA is broken up into multiple 256B bursts on the AXI, then if a bus error occurs on any of these associated AXI transfers, the GBUSERRADDR reflects the DMA start address of 0xABCD0000 regardless of which AXI transaction received the error.
GBUSERRADDRHI 0x34 32 RO 0x00000000
Global SoC Bus Error Address Register - High
  
  When the AHB or AXI Master Bus returns an "Error" response, the "SoC Bus Error" is generated. In the Host mode, the host_system_err port indicates this condition. In addition, it is also indicated in the USBSTS.HSE field. In the Device mode, the GSTS.BusErrAddrVld field is the only indication of the SoC Bus Error.
  
  Note for AXI configuration:
  
  Due to the nature of AXI, it is possible that multiple AXI transactions are active at a time. The DWC_usb31 controller does not keep track of the start address of all outstanding transactions. Instead, it keeps track of the start address of the DMA transfer associated with all active transactions. It is this address that is reported in the GBUSERRADDR when a bus error occurs.
  
  For example, if the DWC_usb31 controller initiates a DMA transfer to write 1k of packet data starting at buffer address 0xABCD0000, and this DMA is broken up into multiple 256B bursts on the AXI, then if a bus error occurs on any of these associated AXI transfers, the GBUSERRADDR reflects the DMA start address of 0xABCD0000 regardless of which AXI transaction received the error.
GPRTBIMAPLO 0x38 32 RW 0x00000000
Global ESS Port to Bus Instance Mapping Register - Low
  
  This register specifies the Enhanced SuperSpeed USB instance number to which each USB 3.1 port is connected. Synopsys coreConsultant power-on initialization value evenly distributes the USB 3.1 ports among all ESS USB instances. Software can program this register to specify how USB 3.1 ports are connected to ESS USB instances.
  
  For a configuration with the number of USB 3.1 ports same as the number of ESS Bus Instances, the remapping should not be performed during a debug session. If remapping is performed for some reason, then the debug host must be connected to a port which has a dedicated ESS Bus Instance.
  
  For example, if DWC_USB31_HOST_NUM_U3_ROOT_PORTS=3 and DWC_USB31_NUM_ESS_USB_INSTANCES=3, and software maps the first ESS port to the first ESS BI and the second/third port to the second BI, then the debug host can be connected to the first port only.
  
  The reset value for each field in the GPRTBIMAP register, which is {GPRTBIMAPHI,GPRTBIMAPLO} register is calculated as shown below:
  
  for (i=0; i<`DWC_USB31_HOST_NUM_U3_ROOT_PORTS; i=i+1)
  
  GPRTBIMAP[4*i+3:4*i] = i%`DWC_USB31_NUM_ESS_USB_INSTANCES;
  
  Note: 
   - Register fields are read-write with respect to number of port instantiated.
   - For ex. If DWC_USB31_HOST_NUM_U3_ROOT_PORTS==3, then GPRTBIMAPLO[11:0] i.e. fields (BINUM1/BINUM2/BINUM3) are read-write and all remaining fields are read-only.
   - GPRTBIMAP register is not applicable for USB 2.0-only mode.
GPRTBIMAPHI 0x3C 32 RW 0x00000000
Global ESS Port to Bus Instance Mapping Register - High
  
  This register specifies the Enhanced SuperSpeed USB instance number to which each USB 3.1 port is connected. Synopsys coreConsultant power-on initialization value evenly distributes the USB 3.1 ports among all ESS USB instances. Software can program this register to specify how USB 3.1 ports are connected to ESS USB instances.
  
  For a configuration with the number of USB 3.1 ports same as the number of ESS Bus Instances, the remapping should not be performed during a debug session. If remapping is performed for some reason, then the debug host must be connected to a port which has a dedicated ESS Bus Instance.
  
  For example, if DWC_USB31_HOST_NUM_U3_ROOT_PORTS=3 and DWC_USB31_NUM_ESS_USB_INSTANCES=3, and software maps the first ESS port to the first ESS BI and the second/third port to the second BI, then the debug host can be connected to the first port only.
  
  The reset value for each field in the GPRTBIMAP register, which is {GPRTBIMAPHI,GPRTBIMAPLO} register is calculated as shown below:
  
  for (i=0; i<`DWC_USB31_HOST_NUM_U3_ROOT_PORTS; i=i+1)
  
  GPRTBIMAP[4*i+3:4*i] = i%`DWC_USB31_NUM_ESS_USB_INSTANCES;
  
  Note: 
   - Register fields are read-write with respect to number of port instantiated. 
   - For ex. If DWC_USB31_HOST_NUM_U3_ROOT_PORTS==11, then GPRTBIMAPHI[11:0] i.e. fields (BINUM9/BINUM10/BINUM11) are read-write and all remaining fields are read-only.
   - GPRTBIMAP register is not applicable for USB 2.0-only mode.
GHWPARAMS0 0x40 32 RO 0x4020400A
Global Hardware Parameters Register 0
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab. 
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS1 0x44 32 RO 0x81032486
Global Hardware Parameters Register 1
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS2 0x48 32 RO 0x12345678
Global Hardware Parameters Register 2
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS3 0x4C 32 RO 0x1042048A
Global Hardware Parameters Register 3
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the Databook. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS4 0x50 32 RO 0x48422010
Global Hardware Parameters Register 4
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS5 0x54 32 RO 0x68410410
Global Hardware Parameters Register 5
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS6 0x58 32 RO 0x1971803F
Global Hardware Parameters Register 6
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GHWPARAMS7 0x5C 32 RO 0x0AA01270
Global Hardware Parameters Register 7
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GDBGFIFOSPACE 0x60 32 RW 0x00430000
Global Debug Queue/FIFO Space Available Register
GBMUCTL 0x64 32 RW 0x9CC20026
Global BMU Control Register
GDBGBMU 0x6C 32 RO 0x00000000
Global Debug BMU Register
GDBGLSPMUX 0x70 32 RW 0x00000000
Global Debug LSP MUX Register in host mode
  
  This register is for internal use only.
GDBGLSP 0x74 32 RO 0x00000000
Global Debug LSP Register
  
  This register is for internal use only.
GDBGEPINFO0 0x78 32 RO 0x00000000
Global Debug Endpoint Information Register 0
  
  This register is for internal use only.
GDBGEPINFO1 0x7C 32 RO 0x00000000
Global Debug Endpoint Information Register 1
  
  This register is for internal use only.
GPRTBIMAP_HSLO 0x80 32 RW 0x00000000
Global High-Speed Port to Bus Instance Mapping Register - Low
  
  This register specifies the High Speed USB instance number to which each USB 3.1 port is connected. Synopsys coreConsultant power-on initialization value evenly distributes the USB 3.1 ports among all HS USB instances. The software can program this register to specify how USB 3.1 ports are connected to HS USB instances.
  
  The Reset Value for each field in the GPRTBIMAP_HS register, which is {GPRTBIMAP_HSHI,GPRTBIMAP_HSLO} register is calculated as shown below:
  for (i=0; i<`DWC_USB31_HOST_NUM_U2_ROOT_PORTS; i=i+1)
  GPRTBIMAP_HS[4*i+3:4*i] = i%`DWC_USB31_NUM_HS_USB_INSTANCES;
  
  Note:
   - Register fields are read-write with respect to number of port instantiated. 
   - For ex. If DWC_USB31_HOST_NUM_U2_ROOT_PORTS==3, then GPRTBIMAP_HSLO[11:0] i.e. fields (BINUM1/BINUM2/BINUM3) are read-write and all remaining fields are read-only.
  
GPRTBIMAP_HSHI 0x84 32 RW 0x00000000
Global High-Speed Port to Bus Instance Mapping Register - High
  
  This register specifies the High Speed USB instance number to which each USB 3.1 port is connected. Synopsys coreConsultant power-on initialization value evenly distributes the USB 3.1 ports among all HS USB instances. The software can program this register to specify how USB 3.1 ports are connected to HS USB instances.
  
  The Reset Value for each field in the GPRTBIMAP_HS register is calculated as shown below:
  for (i=0; i<`DWC_USB31_HOST_NUM_U2_ROOT_PORTS; i=i+1)
  GPRTBIMAP_HS[4*i+3:4*i] = i%`DWC_USB31_NUM_HS_USB_INSTANCES;
  
  Note:
   - Register fields are read-write with respect to number of port instantiated. 
   - For ex. If DWC_USB31_HOST_NUM_U2_ROOT_PORTS==3, then GPRTBIMAP_HSHI[11:0] i.e. fields (BINUM9/BINUM10/BINUM11) are read-write and all remaining fields are read-only.
  
GPRTBIMAP_FSLO 0x88 32 RW 0x00000000
Global Full/Low-Speed Port to Bus Instance Mapping Register - Low
  
  This register specifies the Full/Low Speed USB instance number to which each USB 3.1 port is connected. Synopsys coreConsultant power-on initialization value evenly distributes the USB 3.1 ports among all FS/LS USB instances. Software can program this register to specify how USB 3.1 ports are connected to FS/LS USB instances
  
  The Reset Value for each field in the GPRTBIMAP_FS register, which is {GPRTBIMAP_FSHI,GPRTBIMAP_FSLO} register is calculated as shown below:
  for (i=0; i<`DWC_USB31_HOST_NUM_U2_ROOT_PORTS; i=i+1)
  GPRTBIMAP_FS[4*i+3:4*i] = i%`DWC_USB31_NUM_FSLS_USB_INSTANCES;
  
  Note:
   - Register fields are read-write with respect to number of port instantiated. 
   - For ex. If DWC_USB31_HOST_NUM_U2_ROOT_PORTS==3, then GPRTBIMAP_FSLO[11:0] i.e. fields (BINUM1/BINUM2/BINUM3) are read-write and all remaining fields are read-only.
  
GPRTBIMAP_FSHI 0x8C 32 RW 0x00000000
Global Full/Low-Speed Port to Bus Instance Mapping Register - High
  
  This register specifies the Full/Low Speed USB instance number to which each USB 3.1 port is connected. Synopsys coreConsultant power-on initialization value evenly distributes the USB 3.1 ports among all FS/LS USB instances. Software can program this register to specify how USB 3.1 ports are connected to FS/LS USB instances
  
  The Reset Value for each field in the GPRTBIMAP_FS register, which is {GPRTBIMAP_FSHI,GPRTBIMAP_FSLO} register is calculated as shown below:
  for (i=0; i<`DWC_USB31_HOST_NUM_U2_ROOT_PORTS; i=i+1)
  GPRTBIMAP_FS[4*i+3:4*i] = i%`DWC_USB31_NUM_FSLS_USB_INSTANCES;
  
  Note:
   - Register fields are read-write with respect to number of port instantiated. 
   - For ex. If DWC_USB31_HOST_NUM_U2_ROOT_PORTS==3, then GPRTBIMAP_FSHI[11:0] i.e. fields (BINUM9/BINUM10/BINUM11) are read-write and all remaining fields are read-only.
  
GHMSOCBWOR 0x90 32 RW 0x00000000
Global Host Mode SoC Bandwidth Override Register
USB31_VER_NUMBER 0xA0 32 RO 0x3139302A
USB31 IP VERSION
   -  This register reflects the current corekit release number in ASCII format
USB31_VER_TYPE 0xA4 32 RO 0x67612A2A
USB31 IP VERSION TYPE
   -  This register reflects the current release type of the IP
GSYSBLKWINCTRL 0xB0 32 RW 0x00000000
Global System Bus Blocking Window Control
GPCIEL1EXTLAT 0xB4 32 RW 0x00000000
Global PCIe L1 exit Latency Register
GHWPARAMS8 0x500 32 RO 0x00001971
Global Hardware Parameters Register 8
  
  This register contains the hardware configuration options that you can select in the coreConsultant GUI.  
  
  Note: 
   - For a description of each parameter, refer to the "Parameter Descriptions" chapter in the <link:ext>DWC_usb31_databook:Title,Databook</link>. This information is also available in coreConsultant by right-clicking the parameter label and selecting "What's This" or by clicking the Help tab.  
   - Some of the global hardware parameters are not currently modifiable in coreConsultant. These settings are in the  <workspace>/src/${ldsg}_params.svh file; you must not change them.
GSMACCTL 0x504 32 RW 0x00000000
Global SMAC CONTROL REGISTER
GUCTL2 0x508 32 RW 0x18044246
Global User Control Register 2
GUCTL3 0x50C 32 RW 0x0085560C
Global User Control Register 3
GTXFIFOPRIDEV 0x510 32 RW 0x00000000
Global Device TXFIFO DMA Priority Register
  
  This register specifies the relative DMA priority level among the Device TXFIFOs (one per IN endpoint). Each register bit[n] controls the priority (1: high, 0: low) of each TXFIFO[n]. When multiple TXFIFOs compete for DMA service at a given time (that is, multiple TXQs contain TX DMA requests and their corresponding TXFIFOs have space available), the TX DMA arbiter grants access on a packet-basis in the following manner:
   - 1. High-priority TXFIFOs are granted access using round-robin arbitration
   - 2. Low-priority TXFIFOs are granted access using round-robin arbitration only after the high-priority TXFIFOs have no further processing to do (that is, either the TXQs are empty or the corresponding TXFIFOs are full).
  For scatter-gather packets, the arbiter grants successive DMA requests to the same FIFO until the entire packet is completed.
  
  When configuring periodic IN endpoints, software must set register bit[n]=1, where n is the TXFIFO assignment. This ensures that the DMA for isochronous or interrupt IN endpoints are prioritized over bulk or control IN endpoints.
  
  This register is present only when the controller is configured to operate in the device mode (includes DRD). The register size corresponds to the number of Device IN endpoints.
  
  Note
   - Since the device mode uses only one RXFIFO, there is no Device RXFIFO DMA Priority Register.
GTXFIFOPRIHST 0x518 32 RW 0x00000000
Global Host TXFIFO DMA Priority Register (GTXFIFOPRIHST)
  
  This register specifies the relative DMA priority level among the Host TXFIFOs (one per USB bus instance) within the associated speed group (SS or HS/FSLS). Each register bit[n] controls the priority (1: high, 0: low) of TXFIFO[n] within a speed group. When multiple TXFIFOs compete for DMA service at a given time (i.e., multiple TXQs contain TX DMA requests and their corresponding TXFIFOs have space available), the TX DMA arbiter grants access on a packet-basis in the following manner:
   - 1. Among the FIFOs in the same speed group (SS or HS/FSLS): 
   a. High-priority TXFIFOs are granted access using round-robin arbitration 
   b. Low-priority TXFIFOs are granted access using round-robin arbitration only after the high-priority TXFIFOs have no further processing to do (that is, either the TXQs are empty or the corresponding TXFIFOs are full).
   - 2. The TX DMA arbiter prioritizes the SS speed group or HS/FSLS speed group according to the ratio programmed in the GDMAHLRATIO register.
  For scatter-gather packets, the arbiter grants successive DMA requests to the same FIFO until the entire packet is completed.
  
  This register is present only when the controller is configured to operate in the host mode (includes DRD). The register size corresponds to the number of configured USB bus instances; for example, in the default configuration, there are 3 USB bus instances (1 SS, 1 HS, and 1 FSLS).
GRXFIFOPRIHST 0x51C 32 RW 0x00000000
Global Host RXFIFO DMA Priority Register
  
  This register specifies the relative DMA priority level among the Host RXFIFOs (one per USB bus instance) within the associated speed group (SS or HS/FSLS). Each register bit[n] controls the priority (1: high, 0: low) of RXFIFO[n] within a speed group. When multiple RXFIFOs compete for DMA service at a given time (i.e., multiple RXQs contain RX DMA requests and their corresponding RXFIFOs have data available), the RX DMA arbiter grants access on a packet-basis in the following manner:
   - 1. Among the FIFOs in the same speed group (SS or HS/FSLS): 
   a. High-priority RXFIFOs are granted access using round-robin arbitration 
   b. Low-priority RXFIFOs are granted access using round-robin arbitration only after high-priority RXFIFOs have no further processing to do (that is, either the RXQs are empty or the corresponding RXFIFOs do not have the required data).
   - 2. The RX DMA arbiter prioritizes the SS speed group or HS/FSLS speed group according to the ratio programmed in the GDMAHLRATIO register.
  For scatter-gather packets, the arbiter grants successive DMA requests to the same FIFO until the entire packet is completed.
  
  This register is present only when the controller is configured to operate in the host mode (includes DRD). The register size corresponds to the number of configured USB bus instances; for example, in the default configuration, there are 3 USB bus instances (1 SS, 1 HS, and 1 FSLS).
GFIFOPRIDBC 0x520 32 RW 0x00000000
Global Host Debug Capability DMA Priority Register
  
  This register specifies the relative priority of the RXFIFOs and TXFIFOs associated with the DbC mode. It overrides the priority assigned in the corresponding indexes of the Host RXFIFO and TXFIFO DMA priority registers, when the DbC mode is enabled.
  
  Priority settings are specified in relation to the low-priority SS speed group:
   - 1. Normal priority indicates that the DbC FIFOs are considered identical to the Host SS low-priority FIFOs.
   - 2. Low priority indicates that the DbC FIFOs are considered to have lower priority than all Host SS FIFOs.
   - 3. High priority indicates that the DbC FIFOs are considered higher priority than the Host SS low-priority FIFOs but lower priority than the Host SS high-priority FIFOs.
  This register is present only when the controller is configured to operate in Host Debug Capability (DbC) mode.
GDMAHLRATIO 0x524 32 RW 0x08080101
Global Host FIFO DMA High-Low Priority Ratio Register
  
  This register specifies the relative priority of the SS FIFOs with respect to the HS/FSLS FIFOs. The DMA arbiter prioritizes the HS/FSLS round-robin arbiter group every DMA High-Low Priority Ratio grants as indicated in the register separately for TX and RX.
  
  To illustrate, consider that all FIFOs are requesting access simultaneously, and the ratio is 4. SS gets priority for 4 packets, HS/FSLS gets priority for 1 packet, SS gets priority for 4 packets, HS/FSLS gets priority for 1 packet, and so on.
  
  If FIFOs from both speed groups are not requesting access simultaneously then,
   - if SS got grants 4 out of the last 4 times, then HS/FSLS get the priority on any future request.
   - if HS/FSLS got the grant last time, SS gets the priority on the next request.
   - if there is a valid request on either SS or HS/FSLS, a grant is always awarded; there is no idle.
  This register is present if the controller is configured to operate in host mode (includes DRD).
GOSTDDMA_ASYNC 0x528 32 RW 0x0C0C090C
Global Number of Async Outstanding DMA Register
GOSTDDMA_PRD 0x52C 32 RW 0x10100C10
Global Number of Periodic Outstanding DMA Register
GFLADJ 0x530 32 RW 0x0C800020
Global Frame Length Adjustment Register
  This register provides options for the software to control the controller behavior with respect to SOF (Start of Frame) and ITP (Isochronous Timestamp Packet) timers and frame timer functionality. It provides an option to override the fladj_30mhz_reg sideband signal. This also facilitates hardware LPM in host mode with the SOF or ITP counters being run from the ref_clk signal.
GUCTL4 0x534 32 RW 0x0001FFFF
Global User Control Register 4
GUCTL5 0x538 32 RW 0x00000000
Global User Control Register 5