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.

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.

The MindShare eLearning preview presented here requires JavaScript to be enabled and the latest version of the Adobe Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Adobe Flash Player by downloading here.