xHCI for USB


Let MindShare Bring xHCI for USB to Life for You

The xHCI (eXtensible Host Controller Interface) for USB consolidates support for all generations of USB Low Speed, Full Speed, High Speed, SuperSpeed, and SuperSpeedPlus peripherals and hubs. The xHCI specification defines both host controller hardware behavior and the interface used by software to manage the controller and devices below it. A wide range of hardware implementations and optional features accommodate platforms ranging from embedded devices to PCs, workstations, and servers. When compared with earlier USB host controller models, xHCI also brings significant enhancements in the areas of platform power management, transaction scheduling, virtualization, and bandwidth management.

MindShare's Current Offerings for xHCI:

Course Name

Virtual Classroom

Fundamentals of xHCI
1 day

1 day
Notify Me When Available

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.

Fundamentals xHCI for USB Course Info

Who Should Attend?

This course targets software/hardware engineers and others requiring an introduction to Intel’s xHCI USB host controller model. A popular training combination is the three-day Comprehensive USB 3.1 course followed by this one-day xHCI Fundamentals course. Note that MindShare also offers a two-day xHCI course for those needing additional details on the xHCI host controller and software management of registers and memory data structures.

Course Length: 1 Day

Course Outline:

  • Overview of xHCI
    • Motivation and Goals
    • Dual Bus Topology
    • xHC Implementation Options
    • Root Hub Ports
    • Special Considerations: 2.0 vs. ESS Transactions
    • xHC Bus Instances
  • xHC Internal Registers
    • PCI Configuration Space Registers
    • Memory Mapped IO (MMIO) Registers
  • xHCI Memory Data Structures
    • Slot IDs, Doorbells, and Scheduling
    • Command Ring
    • Event Rings
    • Device Contexts
    • Input Context
    • Transfer Rings
  • xHCI Interrupts
    • Interrupters and Event Rings
    • MSI, MSI-X Configuration
    • Interrupt Moderation
  • xHC Reset & Initialization
    • Host Controller Reset Types
    • Host Controller Initialization
  • Device Attachment & Initialization
    • Root Hub Port Status Change
    • Enable Slot and Address Device Commands
    • Device Context Setup
    • A Configuration is Selected

Recommended Prerequisites:

Some background in USB 2.0 and/or USB 3.0 protocol is helpful.

Training Materials:

Students will be provided with an electronic (PDF) version of the presentation used in class.


USB 3.0 Technology