diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2011-09-14 12:33:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-09-18 04:48:37 -0400 |
commit | 25aa55488c3644b19e33ba79c564191b8e33f477 (patch) | |
tree | 13a18f3e4a4b20791e4d8db29789a797e4b3559e /Documentation | |
parent | 073b85469308b41468149f4aa7144c1e1bf4f0d7 (diff) |
USB: document ehci-hcd's "companion" sysfs attribute
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>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd b/Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd new file mode 100644 index 000000000000..60c60fa624b2 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd | |||
@@ -0,0 +1,46 @@ | |||
1 | What: /sys/bus/pci/drivers/ehci_hcd/.../companion | ||
2 | /sys/bus/usb/devices/usbN/../companion | ||
3 | Date: January 2007 | ||
4 | KernelVersion: 2.6.21 | ||
5 | Contact: Alan Stern <stern@rowland.harvard.edu> | ||
6 | Description: | ||
7 | PCI-based EHCI USB controllers (i.e., high-speed USB-2.0 | ||
8 | controllers) are often implemented along with a set of | ||
9 | "companion" full/low-speed USB-1.1 controllers. When a | ||
10 | high-speed device is plugged in, the connection is routed | ||
11 | to the EHCI controller; when a full- or low-speed device | ||
12 | is plugged in, the connection is routed to the companion | ||
13 | controller. | ||
14 | |||
15 | Sometimes you want to force a high-speed device to connect | ||
16 | at full speed, which can be accomplished by forcing the | ||
17 | connection to be routed to the companion controller. | ||
18 | That's what this file does. Writing a port number to the | ||
19 | file causes connections on that port to be routed to the | ||
20 | companion controller, and writing the negative of a port | ||
21 | number returns the port to normal operation. | ||
22 | |||
23 | For example: To force the high-speed device attached to | ||
24 | port 4 on bus 2 to run at full speed: | ||
25 | |||
26 | echo 4 >/sys/bus/usb/devices/usb2/../companion | ||
27 | |||
28 | To return the port to high-speed operation: | ||
29 | |||
30 | echo -4 >/sys/bus/usb/devices/usb2/../companion | ||
31 | |||
32 | Reading the file gives the list of ports currently forced | ||
33 | to the companion controller. | ||
34 | |||
35 | Note: Some EHCI controllers do not have companions; they | ||
36 | may contain an internal "transaction translator" or they | ||
37 | may be attached directly to a "rate-matching hub". This | ||
38 | mechanism will not work with such controllers. Also, it | ||
39 | cannot be used to force a port on a high-speed hub to | ||
40 | connect at full speed. | ||
41 | |||
42 | Note: When this file was first added, it appeared in a | ||
43 | different sysfs directory. The location given above is | ||
44 | correct for 2.6.35 (and probably several earlier kernel | ||
45 | versions as well). | ||
46 | |||