386:
host controllers on the motherboard, or for any VIA discrete host controllers attached to the computer's expansion bus. The OHCI driver provides low- and full-speed functions for USB ports of all other motherboard chipset vendors' integrated USB host controllers or discrete host controllers attached to the computer's expansion bus. The EHCI driver provided high-speed functions for USB ports on the motherboard or on the discrete USB controller. More recent hardware routes all ports through an internal "rate-matching" hub (RMH) that converts all traffic involving any directly-connected ports working at full-speed and low-speed between the high-speed traffic presented to the EHCI controller and the full-speed or low-speed traffic that the ports operating at those speeds expect, allowing the EHCI controller to handle these devices.
269:
77:
139:
36:
318:
motivation for defining it. If a computer provides non-x86 USB 1.1, or x86 USB 1.1 from a USB controller that is not made by Intel or VIA, it probably uses OHCI (e.g. OHCI is common on add-in PCI Cards based on an NEC chipset). It has many fewer intellectual property restrictions than UHCI. It only supports 32-bit memory addressing, so it requires an
415:) is the newest host controller standard that improves speed, power efficiency and virtualization over its predecessors. The goal was also to define a USB host controller to replace UHCI/OHCI/EHCI. It supports all USB device speeds (USB 3.1 SuperSpeed+, USB 3.0 SuperSpeed, USB 2.0 Low-, Full-, and High-speed, USB 1.1 Low- and Full-speed).
385:
Originally a PC providing high-speed ports had two controllers, one handling low- and full-speed devices and the second handling high-speed devices. Typically such a system had EHCI and either OHCI or UHCI drivers. The UHCI driver provides low- and full-speed interfaces for Intel or VIA chipsets' USB
353:
1.x (full and low speeds). It requires a license from Intel. A USB controller using UHCI does little in hardware and requires a software UHCI driver to do much of the work of managing the USB bus. It only supports 32-bit memory addressing, so it requires an IOMMU or a computationally expensive bounce
317:
is similar to the OHCI standard for IEEE 1394, but supports USB 1.1 (full and low speeds) only; so as a result its register interface looks completely different. Compared with UHCI, it moves more intelligence into the controller, and thus is accordingly much more efficient; this was part of the
445:
393:
to work with a 64-bit operating system if a rate-matching hub is implemented to provide full-speed and low-speed connectivity instead of companion controllers using either the UHCI specification or OHCI specification, both of which are 32-bit only specifications.
354:
buffer to work with a 64-bit operating system. UHCI is configured with port-mapped I/O and memory-mapped I/O, and also requires memory-mapped I/O for status updates and for data buffers needed to hold data that needs to be sent or data that was received.
296:. Because the card has a standard OHCI interface, the OS does not need to know in advance exactly who makes the card or how it works; it can safely assume that the card understands the set of well-defined commands that are defined in the standard
430:) refers to a virtual controller that may export virtual USB devices not backed by physical devices. For instance, on Linux, VHCI controllers are used to expose USB devices from other machines, attached using the
233:
or motherboard controller, this involves much custom logic, with digital logic engines in the motherboard's controller chip, plus analog circuitry managing the high-speed differential signals. On the
442:
The Host
Interface defined in the USB4 Specification. It makes operating system to manage USB4 Host Route for USB, DisplayPort, PCI Express, Thunderbolt or Host-to-Host Communication.
49:
431:
674:
370:) is a high-speed controller standard applicable to USB 2.0. UHCI- and OHCI-based systems, as existed previously, entailed greater complexity and
389:
The EHCI software interface specification defines both 32-bit and 64-bit versions of its data structures, so it does not need a bounce buffer or
292:) card, OHCI means that the card supports a standard interface to the PC and can be used by the OHCI IEEE 1394 drivers that come with all modern
55:
462:
574:
669:
503:
543:
689:
403:
268:
621:
456:
214:
hardware to communicate with a host controller driver in software. The driver software is typically provided with an
177:
120:
98:
63:
91:
199:
148:
652:
85:
375:
102:
326:
to work with a 64-bit operating system. OHCI interfaces to the rest of the computer only with
504:
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/ohci_11.pdf
663:
659:
350:
346:
297:
17:
648:
591:
8:
379:
155:
Please help update this article to reflect recent events or newly available information.
568:
327:
272:
Die shot of a VIA VT6307 Integrated Host
Controller used for IEEE 1394A communication
219:
649:
An OHCI for USB standard document from Compaq, Microsoft and
National Semiconductor
293:
215:
550:
223:
203:
230:
683:
484:
323:
262:
238:
694:
479:
468:
378:(USB-IF) insisted on a public specification for EHCI. Intel hosted EHCI
222:, but may also be implemented by application-specific devices such as a
277:
211:
518:
281:
234:
382:
and this helped to prevent the incursion of proprietary features.
446:
USB4® Host
Controller ASM4242 Has Passed the USB-IF Certification
285:
390:
319:
474:
371:
314:
207:
397:
333:
357:
418:
308:
622:"Enhanced Host Controller Interface Specification"
249:
151:may be compromised due to out-of-date information
681:
513:
511:
463:Non-Volatile Memory Host Controller Interface
241:(called a Host Controller Driver, or HCD).
64:Learn how and when to remove these messages
508:
192:USB and Firewire Host Controller Interface
178:Learn how and when to remove this message
121:Learn how and when to remove this message
267:
84:This article includes a list of general
14:
682:
616:
614:
586:
584:
573:: CS1 maint: archived copy as title (
538:
536:
437:
409:Extensible Host Controller Interface
404:Extensible Host Controller Interface
398:Extensible Host Controller Interface
132:
70:
29:
611:
581:
533:
339:Universal Host Controller Interface
334:Universal Host Controller Interface
24:
457:Advanced Host Controller Interface
374:than necessary. Consequently, the
364:Enhanced Host Controller Interface
358:Enhanced Host Controller Interface
90:it lacks sufficient corresponding
25:
706:
642:
424:Virtual Host Controller Interface
419:Virtual Host Controller Interface
45:This article has multiple issues.
137:
75:
34:
349:interface created by Intel for
322:or a computationally expensive
53:or discuss these issues on the
497:
309:Open Host Controller Interface
255:Open Host Controller Interface
250:Open Host Controller Interface
13:
1:
490:
244:
7:
690:Computer hardware standards
450:
10:
711:
401:
675:Intel xHCI Specification
670:Intel EHCI Specification
105:more precise citations.
376:USB Implementers Forum
313:The OHCI standard for
303:
273:
198:) is a register-level
658:Linux kernel source:
271:
237:side, it requires a
438:USB4 Host Interface
380:conformance-testing
276:When applied to an
274:
27:Software interface
521:. August 27, 2007
328:memory-mapped I/O
294:operating systems
220:personal computer
188:
187:
180:
170:
169:
131:
130:
123:
68:
16:(Redirected from
702:
636:
635:
633:
632:
618:
609:
608:
606:
605:
596:
588:
579:
578:
572:
564:
562:
561:
555:
549:. Archived from
548:
540:
531:
530:
528:
526:
515:
506:
501:
216:operating system
183:
176:
165:
162:
156:
149:factual accuracy
141:
140:
133:
126:
119:
115:
112:
106:
101:this article by
92:inline citations
79:
78:
71:
60:
38:
37:
30:
21:
710:
709:
705:
704:
703:
701:
700:
699:
680:
679:
645:
640:
639:
630:
628:
620:
619:
612:
603:
601:
594:
590:
589:
582:
566:
565:
559:
557:
553:
546:
544:"Archived copy"
542:
541:
534:
524:
522:
519:"Linux USB FAQ"
517:
516:
509:
502:
498:
493:
475:RAID Controller
453:
440:
432:USB/IP protocol
421:
406:
400:
360:
336:
311:
306:
280:(also known as
252:
247:
224:microcontroller
204:host controller
202:that enables a
184:
173:
172:
171:
166:
160:
157:
154:
146:This article's
142:
138:
127:
116:
110:
107:
97:Please help to
96:
80:
76:
39:
35:
28:
23:
22:
15:
12:
11:
5:
708:
698:
697:
692:
678:
677:
672:
667:
656:
644:
643:External links
641:
638:
637:
610:
599:Ftp.netbsd.org
580:
532:
507:
495:
494:
492:
489:
488:
487:
482:
477:
472:
466:
460:
452:
449:
439:
436:
420:
417:
402:Main article:
399:
396:
359:
356:
335:
332:
310:
307:
305:
302:
251:
248:
246:
243:
231:expansion card
186:
185:
168:
167:
145:
143:
136:
129:
128:
83:
81:
74:
69:
43:
42:
40:
33:
26:
9:
6:
4:
3:
2:
707:
696:
693:
691:
688:
687:
685:
676:
673:
671:
668:
666:documentation
665:
661:
657:
654:
650:
647:
646:
627:
623:
617:
615:
600:
593:
592:"UHCI11D.DOC"
587:
585:
576:
570:
556:on 2020-05-18
552:
545:
539:
537:
520:
514:
512:
505:
500:
496:
486:
483:
481:
478:
476:
473:
470:
467:
464:
461:
458:
455:
454:
448:
447:
443:
435:
433:
429:
425:
416:
414:
410:
405:
395:
392:
387:
383:
381:
377:
373:
369:
365:
355:
352:
348:
344:
340:
331:
329:
325:
324:bounce buffer
321:
316:
301:
299:
295:
291:
287:
283:
279:
270:
266:
264:
263:open standard
260:
256:
242:
240:
239:device driver
236:
232:
227:
225:
221:
217:
213:
209:
205:
201:
197:
193:
182:
179:
164:
161:November 2010
152:
150:
144:
135:
134:
125:
122:
114:
104:
100:
94:
93:
87:
82:
73:
72:
67:
65:
58:
57:
52:
51:
46:
41:
32:
31:
19:
629:. Retrieved
625:
602:. Retrieved
598:
558:. Retrieved
551:the original
523:. Retrieved
499:
480:Host adapter
469:Wireless USB
444:
441:
427:
423:
422:
412:
408:
407:
388:
384:
367:
363:
361:
342:
338:
337:
312:
289:
275:
258:
254:
253:
228:
195:
191:
189:
174:
158:
147:
117:
108:
89:
61:
54:
48:
47:Please help
44:
347:proprietary
103:introducing
684:Categories
631:2017-01-10
604:2017-01-10
560:2020-05-12
491:References
471:(WHCI 1.0)
111:April 2014
86:references
50:improve it
626:Intel.com
525:April 13,
278:IEEE 1394
245:IEEE 1394
212:IEEE 1394
200:interface
56:talk page
569:cite web
465:(NVMHCI)
451:See also
298:protocol
282:FireWire
261:) is an
235:software
345:) is a
229:On the
99:improve
459:(AHCI)
286:i.LINK
88:, but
595:(PDF)
554:(PDF)
547:(PDF)
485:LPCIO
391:IOMMU
372:costs
320:IOMMU
218:of a
664:EHCI
662:and
660:OHCI
575:link
527:2014
428:VHCI
413:xHCI
368:EHCI
362:The
343:UHCI
290:Lynx
259:OHCI
206:for
196:UFHC
18:EHCI
695:USB
653:PDF
351:USB
315:USB
304:USB
288:or
210:or
208:USB
686::
624:.
613:^
597:.
583:^
571:}}
567:{{
535:^
510:^
434:.
330:.
300:.
284:;
265:.
226:.
190:A
59:.
655:)
651:(
634:.
607:.
577:)
563:.
529:.
426:(
411:(
366:(
341:(
257:(
194:(
181:)
175:(
163:)
159:(
153:.
124:)
118:(
113:)
109:(
95:.
66:)
62:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.