42.7 Register Summary
The Enhanced USB Host Controller contains two sets of software-accessible hardware registers: memory-mapped Host Controller Registers and optional PCI configuration registers. Note that the PCI configuration registers are only needed for PCI devices that implement the Host Controller.
- Memory-mapped USB Host Controller Registers—This block of registers
is memory-mapped into non-cacheable memory. This memory space must begin on a DWord
(32-bit) boundary. This register space is divided into two sections: a set of
read-only capability registers and a set of read/write operational registers. The
table below describes each register space.Note: Host controllers are not required to support exclusive-access mechanisms (such as PCI LOCK) for accesses to the memory-mapped register space. Therefore, if software attempts exclusive-access mechanisms to the host controller memory-mapped register space, the results are undefined.
- PCI Configuration Registers (for PCI devices)—In addition to the
normal PCI header, power management, and device-specific registers, two registers
are needed in the PCI configuration space to support USB. The normal PCI header and
device-specific registers are beyond the scope of this document (the UHPHS_CLASSC
register is shown in this document). Note that HCD does not interact with the PCI
configuration space. This space is used only by the PCI enumerator to identify the
USB Host Controller, and assign the appropriate system resources.
The table below summarizes the enhanced interface register sets.
Offset Register Set Explanation 0 to N-1 Capability Registers The capability registers specify the limits, restrictions, and capabilities of a host controller implementation. These values are used as parameters to the host controller driver.
N to N+M-1 Operational Registers The operational registers are used by system software to control and monitor the operational state of the host controller.
Note: Software must not modify reserved bits
in Read/Write registers.
Offset | Name | Bit Pos. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
0x00 | UHPHS_HCCAPBASE | 31:24 | HCIVERSION[15:8] | |||||||
23:16 | HCIVERSION[7:0] | |||||||||
15:8 | ||||||||||
7:0 | CAPLENGTH[7:0] | |||||||||
0x04 | UHPHS_HCSPARAMS | 31:24 | ||||||||
23:16 | N_DP[3:0] | P_INDICATOR | ||||||||
15:8 | N_CC[3:0] | N_PCC[3:0] | ||||||||
7:0 | PPC | N_PORTS[3:0] | ||||||||
0x08 | UHPHS_HCCPARAMS | 31:24 | ||||||||
23:16 | ||||||||||
15:8 | EECP[7:0] | |||||||||
7:0 | IST[3:0] | ASPC | PFLF | AC | ||||||
0x0C ... 0x0F | Reserved | |||||||||
0x10 | UHPHS_USBCMD | 31:24 | ||||||||
23:16 | ITC[7:0] | |||||||||
15:8 | ASPME | ASPMC[1:0] | ||||||||
7:0 | LHCR | IAAD | ASE | PSE | FLS[1:0] | HCRESET | RS | |||
0x14 | UHPHS_USBSTS | 31:24 | ||||||||
23:16 | ||||||||||
15:8 | ASS | PSS | RCM | HCHLT | ||||||
7:0 | IAA | HSE | FLR | PCD | USBERRINT | USBINT | ||||
0x18 | UHPHS_USBINTR | 31:24 | ||||||||
23:16 | ||||||||||
15:8 | ||||||||||
7:0 | IAAE | HSEE | FLRE | PCIE | USBEIE | USBIE | ||||
0x1C | UHPHS_FRINDEX | 31:24 | ||||||||
23:16 | ||||||||||
15:8 | FI[13:8] | |||||||||
7:0 | FI[7:0] | |||||||||
0x20 ... 0x23 | Reserved | |||||||||
0x24 | UHPHS_PERIODICLISTBASE | 31:24 | BA[19:12] | |||||||
23:16 | BA[11:4] | |||||||||
15:8 | BA[3:0] | |||||||||
7:0 | ||||||||||
0x28 | UHPHS_ASYNCLISTADDR | 31:24 | LPL[26:19] | |||||||
23:16 | LPL[18:11] | |||||||||
15:8 | LPL[10:3] | |||||||||
7:0 | LPL[2:0] | |||||||||
0x2C ... 0x4F | Reserved | |||||||||
0x50 | UHPHS_CONFIGFLAG | 31:24 | ||||||||
23:16 | ||||||||||
15:8 | ||||||||||
7:0 | CF | |||||||||
0x54 | UHPHS_PORTSC0 | 31:24 | ||||||||
23:16 | WKOC_E | WKDSCNNT_E | WKCNNT_E | PTC[3:0] | ||||||
15:8 | PIC[1:0] | PO | PP | LS[1:0] | PR | |||||
7:0 | SUS | FPR | OCC | OCA | PEDC | PED | CSC | CCS | ||
0x58 | UHPHS_PORTSC1 | 31:24 | ||||||||
23:16 | WKOC_E | WKDSCNNT_E | WKCNNT_E | PTC[3:0] | ||||||
15:8 | PIC[1:0] | PO | PP | LS[1:0] | PR | |||||
7:0 | SUS | FPR | OCC | OCA | PEDC | PED | CSC | CCS | ||
0x5C | UHPHS_PORTSC2 | 31:24 | ||||||||
23:16 | WKOC_E | WKDSCNNT_E | WKCNNT_E | PTC[3:0] | ||||||
15:8 | PIC[1:0] | PO | PP | LS[1:0] | PR | |||||
7:0 | SUS | FPR | OCC | OCA | PEDC | PED | CSC | CCS | ||
0x60 ... 0xA7 | Reserved | |||||||||
0xA8 | UHPHS_INSNREG06 | 31:24 | AHB_ERR | |||||||
23:16 | ||||||||||
15:8 | HBURST[2:0] | Nb_Burst[4] | ||||||||
7:0 | Nb_Burst[3:0] | Nb_Success_Burst[3:0] | ||||||||
0xAC | UHPHS_INSNREG07 | 31:24 | AHB_ADDR[31:24] | |||||||
23:16 | AHB_ADDR[23:16] | |||||||||
15:8 | AHB_ADDR[15:8] | |||||||||
7:0 | AHB_ADDR[7:0] | |||||||||
0xB0 | UHPHS_INSNREG08 | 31:24 | ||||||||
23:16 | ||||||||||
15:8 | ||||||||||
7:0 | HSIC_EN |