EHCI Revision 1.0 3/12/2002
USB 2.0 7
2. Register Interface
The Enhanced USB Host Controller contains two sets of software accessible hardware registersMemory-
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.
• 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 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.
• Memory-mapped USB Host Controller Registers. This block of registers is memory-mapped into
non-cacheable memory (see Figure 1-3). 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. Table 2-1, describes each register space.
Note that 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.
Table 2-1. Enhanced Interface Register Sets
Offset Register Set Explanation
0 to N-1 Capability Registers
(Section 2.2)
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
(Section 2.3)
The operational registers are used by system
software to control and monitor the operational state
of the host controller.
The reserved bits defined in this revision of the specification may be allocated in later revisions. Software
should not assume reserved bits are always zero and should preserve these bits when writing to modifiable
registers. The following notation is used to describe register access attributes:
RO Read Only. If a register is read only, writes have no effect.
WO Write Only. If a register is write only, reads return a zero for all bit positions.
R/W Read/Write. A register with this attribute can be read and written. Note that individual bits in some
read/write registers may be read only.
R/WC Read/Write Clear. A register bit with this attribute can be read and written. However, a write of a 1
clears (sets to 0) the corresponding bit and a write of a 0 has no effect.
Registers in the auxiliary well are reset under different conditions than the registers in the core well. The
auxiliary well, memory-space registers are initialized to their default values in the following cases:
• initial power-up of the auxiliary power well, or
• a value of 1b in HCReset (see Section 2.3.1)
The core well, memory-space registers are initialized to their default values in the following cases:
• assertion of the system (core-well) hardware reset, or
• a value of 1b in HCReset, or
• transition from the PCI Power Management D3hot state to the D0 state