The Enhanced Host Controller Interface (EHCI) specification describes the register-level interface for a host controller for the Universal Serial Bus (USB) Revision 2.0. The specification includes a description of the hardware and software interface between system software and the host controller hardware. This specification is intended for hardware component designers, system builders, and device driver (software) developers.
Implementation of the Enhanced Host Controller Interface specification requires a license from Intel. Adopters of the Enhanced Host Controller Interface specification for USB have signed the Enhanced Host Controller Interface specification for USB: Adopters Agreement in order to be licensed to use and implement this specification. This Adopters Agreement provides adopters with a reciprocal, royalty-free license to certain intellectual property rights from Intel and other adopters and contributors for their products that are compliant with the Enhanced Host Controller Interface specification for USB.
Licensing of Revision 1.0 of the EHCI specification allows the implementation of both discrete- and integrated-compliant EHCI host controllers. All versions of the specification prior to the Revision 1.0 level (0.95 and 0.96) are licensed to allow the implementation of compliant, discrete EHCI host controllers only.
The latest revision of the specification is Revision 1.0. This revision is an editorial update from 0.96. Revision 1.0 can be downloaded from the link below. The complete Revision 1.0 download includes two files: The specification and a summary of the changes between Revisions 0.96 and 1.0. All current development should be targeting this revision of the specification.
The EHCI 1.1 addendum is intended to define several optional energy efficiency extensions for USB host controller implementations based on the EHCI specification, most notably:
Link power management: Ability for software to discover and use USB 2.0 Link Power Management (LPM) support offered by next-generation host controllers and devices
Per-port change events: Addresses an issue where system software is currently required to read and parse the port status registers (PORTSC) for all enabled root ports upon every port-change event (interrupt) to streamline software’s handling of LPM transition
Shorter periodic frame list: Ability for system software to convey and use a much shorter periodic frame list (32 frames) to better facilitate hardware prefetching
Hardware prefetching: Allows host controller hardware to safely prefetch information from the asynchronous and periodic schedules beyond what was defined in previous EHCI implementations to improve system memory access behavior