1 .\"
   2 .\" This file and its contents are supplied under the terms of the
   3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
   4 .\" You may only use this file in accordance with the terms of version
   5 .\" 1.0 of the CDDL.
   6 .\"
   7 .\" A full copy of the text of the CDDL should have accompanied this
   8 .\" source.  A copy of the CDDL is also available via the Internet at
   9 .\" http://www.illumos.org/license/CDDL.
  10 .\"
  11 .\"
  12 .\" Copyright 2016 Joyent, Inc.
  13 .\"
  14 .Dd January 10, 2020
  15 .Dt XHCI 7D
  16 .Os
  17 .Sh NAME
  18 .Nm xhci
  19 .Nd Extensible Host Controller Interface Driver
  20 .Sh SYNOPSIS
  21 .Sy usb@unit-address
  22 .Sh DESCRIPTION
  23 The
  24 .Nm
  25 driver supports PCI devices that implement versions 1.0 and 1.1 of the
  26 Extensible Host Controller Interface Specification.
  27 These devices provide support for USB 3.0, USB 2.x, and USB 1.x devices and is
  28 integrated into the broader illumos USB Architecture (USBA).
  29 .Pp
  30 The
  31 .Nm
  32 driver supports all four USB transfer types:
  33 .Sy bulk transfers ,
  34 .Sy control transfers ,
  35 .Sy interrupt transfers ,
  36 and
  37 .Sy isochronous transfers .
  38 .Pp
  39 Administrators do not interact with the
  40 .Nm
  41 driver directly.
  42 USB devices are managed with
  43 .Xr cfgadm 1M .
  44 See
  45 .Xr cfgadm_usb 1M
  46 for more information on how to specifically manage USB devices and how
  47 they are laid out in the system.
  48 .Xr cfgadm 1M
  49 is only used to manage devices at a USB level.
  50 For example, a USB NIC would still be managed with
  51 .Xr dladm 1M
  52 at a networking level.
  53 .Pp
  54 On some x86 systems USB ports may be routed to either an instance of the
  55 .Nm
  56 driver or an instance of the
  57 .Xr ehci 7D
  58 driver.
  59 By default, all such ports are routed to the
  60 .Nm
  61 driver, allowing those devices to operate at USB 3.x speed by default.
  62 This is most common on Intel platforms and chipsets.
  63 While this is controlled with the
  64 .Sy xhci-reroute
  65 property discussed below, changing it may not be sufficient to change
  66 the behavior.
  67 The BIOS or ACPI data for many x86 systems may toggle this automatically.
  68 .Sh PROPERTIES
  69 The
  70 .Nm
  71 driver supports the following properties which may be tuned in the
  72 .Nm
  73 driver's
  74 .Xr driver.conf 4
  75 file.
  76 .Bl -tag -width Sy
  77 .It Sy xhci-reroute
  78 The
  79 .Sy xhci-reroute
  80 property determines whether or not USB ports are re-routed to the
  81 .Nm
  82 driver.
  83 The default behavior is to route such ports.
  84 To disable this, the property should be set to
  85 .Sy 0 .
  86 Any other value, or the lack of the property, cause the default behavior
  87 to take place.
  88 .El
  89 .Sh ARCHITECTURE
  90 The
  91 .Nm
  92 driver is only supported on
  93 .Sy x86
  94 systems at this time.
  95 .Sh FILES
  96 .Bl -tag -width Pa
  97 .It Pa /kernel/drv/amd64/xhci
  98 Device driver (x86)
  99 .It Pa /kernel/drv/xhci.conf
 100 Driver configuration file
 101 .El
 102 .Sh SEE ALSO
 103 .Xr cfgadm 1M ,
 104 .Xr cfgadm_usb 1M ,
 105 .Xr dladm 1M ,
 106 .Xr driver.conf 4 ,
 107 .Xr ehci 7D ,
 108 .Xr usba 7D