mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Alan Stern](/assets/img/avatar_default.png)
This patch (as1484) adds documentation for ehci-hcd's "companion" sysfs attribute, which was added to the kernel over four years ago but never documented. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
46 lines
1.8 KiB
Text
46 lines
1.8 KiB
Text
What: /sys/bus/pci/drivers/ehci_hcd/.../companion
|
|
/sys/bus/usb/devices/usbN/../companion
|
|
Date: January 2007
|
|
KernelVersion: 2.6.21
|
|
Contact: Alan Stern <stern@rowland.harvard.edu>
|
|
Description:
|
|
PCI-based EHCI USB controllers (i.e., high-speed USB-2.0
|
|
controllers) are often implemented along with a set of
|
|
"companion" full/low-speed USB-1.1 controllers. When a
|
|
high-speed device is plugged in, the connection is routed
|
|
to the EHCI controller; when a full- or low-speed device
|
|
is plugged in, the connection is routed to the companion
|
|
controller.
|
|
|
|
Sometimes you want to force a high-speed device to connect
|
|
at full speed, which can be accomplished by forcing the
|
|
connection to be routed to the companion controller.
|
|
That's what this file does. Writing a port number to the
|
|
file causes connections on that port to be routed to the
|
|
companion controller, and writing the negative of a port
|
|
number returns the port to normal operation.
|
|
|
|
For example: To force the high-speed device attached to
|
|
port 4 on bus 2 to run at full speed:
|
|
|
|
echo 4 >/sys/bus/usb/devices/usb2/../companion
|
|
|
|
To return the port to high-speed operation:
|
|
|
|
echo -4 >/sys/bus/usb/devices/usb2/../companion
|
|
|
|
Reading the file gives the list of ports currently forced
|
|
to the companion controller.
|
|
|
|
Note: Some EHCI controllers do not have companions; they
|
|
may contain an internal "transaction translator" or they
|
|
may be attached directly to a "rate-matching hub". This
|
|
mechanism will not work with such controllers. Also, it
|
|
cannot be used to force a port on a high-speed hub to
|
|
connect at full speed.
|
|
|
|
Note: When this file was first added, it appeared in a
|
|
different sysfs directory. The location given above is
|
|
correct for 2.6.35 (and probably several earlier kernel
|
|
versions as well).
|
|
|