xHCI for USB

Duration: 1 day

Course Image

xHCI eLearning Course

Course Image

USB 3.0 Technology

Overview

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.

What You Will Learn

  • Details regarding the implementation and operation of the eXtensible Host Controller Interface (xHCI)
  • How to initialize and configure an xHC for runtime operation
  • The behavior and purpose of all the data structures (PCI config space, MMIO space and system memory structures) associated with an xHC including how to explore them on a live running system
  • The events that occur during an attach and remove event
  • And more...

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

Training Materials

  • PDF of course slides

Prerequisites

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

Related Courses

Course NamePDFClassroomVirtual ClassroomeLearning
xHCI - Extensible Host Controller Interface1 day1 day Show Me

xHCI - Extensible Host Controller Interface

Class: 1 day

Virtual Classroom: 1 day

ELEARNING: Show Me

Related Items

cover
USB 3.0 Technology

Author(s): Don Anderson, Jay Trodden

Retail Price: $74.99

$30.00

eBook price

cover
USB 3.0 Technology

Author(s): Don Anderson, Jay Trodden

Retail Price: $74.99

$30.00

eBook price

Live Training Courses