XHCI(4)

NAME
xhci - USB eXtensible Host Controller driver

SYNOPSIS
options USB_DEBUG
device xhci

DESCRIPTION
The xhci driver provides support for the USB eXtensible Host Controller Interface, which allows use of USB 1.0, 2.0 and 3.0 devices on the same USB port.

The XHCI controller supports USB connection speeds from 5.0Gbps and above when using USB 3.x compliant devices.

HARDWARE
The xhci driver supports XHCI compatible controllers having PCI class 12 (serial bus), subclass 3 (USB) and programming interface 48 (XHCI).

SYSCTL VARIABLES
The following variables are available as both sysctl(8) variables and loader(8) tunables:

hw.usb.xhci.debug
    Set debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. The default value is 0.

hw.usb.xhci.dcepquirk
    Set to enable quirk for deconfiguration of endpoints. The default value is 0.

hw.usb.xhci.ctlquirk
    Set to submit full USB control request as one job, up to 64kBytes. Else the USB control request will be split into multiple smaller requests. The default value is 1.

hw.usb.xhci.streams
    Set to enable USB streams support. The default value is 0.

hw.usb.xhci.route
    Set bitmap for switching EHCI ports to the XHCI controller. The default value is 0.

hw.usb.xhci.polling
    Set to use a timer to poll the interrupt handler. The default value is 0.

hw.usb.xhci.dma32
    Set to only use 32-bit DMA for the XHCI controller. The default value is 0.

hw.usb.xhci.ctlstep
    Set to enable control endpoint status state stepping. The default value is 0.

SEE ALSO
ehci(4), ohci(4), uhci(4) and usb(4)

HISTORY
The xhci device driver first appeared in FreeBSD 8.2.