Lines Matching +full:usb +full:- +full:ehci

2 EHCI driver
5 27-Dec-2002
7 The EHCI driver is used to talk to high speed USB 2.0 devices using
8 USB 2.0-capable host controller hardware. The USB 2.0 standard is
9 compatible with the USB 1.1 standard. It defines three transfer speeds:
11 - "High Speed" 480 Mbit/sec (60 MByte/sec)
12 - "Full Speed" 12 Mbit/sec (1.5 MByte/sec)
13 - "Low Speed" 1.5 Mbit/sec
15 USB 1.1 only addressed full speed and low speed. High speed devices
16 can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
18 USB 1.1 devices may also be used on USB 2.0 systems. When plugged
19 into an EHCI controller, they are given to a USB 1.1 "companion"
21 such devices. When USB 1.1 devices plug into USB 2.0 hubs, they
22 interact with the EHCI controller through a "Transaction Translator"
27 of EHCI from (in alphabetical order): Intel, NEC, Philips, and VIA.
28 Other EHCI implementations are becoming available from other vendors;
31 While usb-storage devices have been available since mid-2001 (working
34 appear to be on hold until more systems come with USB 2.0 built-in.
38 Note that USB 2.0 support involves more than just EHCI. It requires
39 other changes to the Linux-USB core APIs, including the hub driver,
41 APIs exposed to USB device drivers.
43 - David Brownell
56 --------------
59 and interrupt transfers, including requests to USB 1.1 devices through
60 transaction translators (TTs) in USB 2.0 hubs. But you may find bugs.
68 since EHCI represents these with a different data structure. So for now,
69 most USB audio and video devices can't be connected to high speed buses.
72 ---------------
79 The EHCI root hub code hands off USB 1.1 devices to its companion
82 just because the EHCI driver is also present.
96 Assuming you have an EHCI controller (on a PCI card or motherboard)
99 # modprobe ehci-hcd
103 # rmmod ehci-hcd
106 "ohci-hcd" or "uhci-hcd". In case of any trouble with the EHCI driver,
109 by the EHCI driver.
117 the EHCI controller can issue interrupts.
119 If you're using this driver on a 2.5 kernel, and you've enabled USB
121 any EHCI controller:
127 usb-storage doing disk I/O; watch the request queues!)
137 Device drivers shouldn't care whether they're running over EHCI or not,
138 but they may want to check for "usb_device->speed == USB_SPEED_HIGH".
144 However, do make a point of testing device drivers through USB 2.0 hubs.
153 USB 2.0 throughput is gated by two main factors: how fast the host
162 and at most 13 of those fit into one USB 2.0 microframe. Eight USB 2.0
163 microframes fit in a USB 1.1 frame; a microframe is 1 msec/8 = 125 usec.
171 --------------------
173 At this writing, individual USB 2.0 devices tend to max out at around
177 The first NEC implementation of EHCI seems to have a hardware bottleneck
181 that the controller hardware won't do concurrent USB and PCI access,
182 so that it's only trying six (or maybe seven) USB transactions each
192 to receive interrupts from the EHCI controller indicating completion
194 default ehci-hcd driver uses the minimum latency, which means that if
199 --------------------
201 To get even 20 MByte/sec transfer rates, Linux-USB device drivers will
202 need to keep the EHCI queue full. That means issuing large requests,
207 going to waste more than half the USB 2.0 bandwidth. Delays between the
215 Such URB queuing should work with all the USB 1.1 HC drivers too.