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