Intel Extensible Firmware Interface User Manual
Page 14
Extensible Firmware Interface Specification
xiv 12/01/02
Version
1.10
14 Protocols — USB Support
14.1
USB Host Controller Protocol............................................................................ 14-1
14.1.1
USB Host Controller Protocol Overview ................................................... 14-1
EFI_USB_HC_PROTOCOL ........................................................................... 14-2
EFI_USB_HC_PROTOCOL.Reset() ............................................................ 14-4
EFI_USB_HC_PROTOCOL.GetState() ....................................................... 14-6
EFI_USB_HC_PROTOCOL.SetState()........................................................ 14-8
EFI_USB_HC_PROTOCOL.ControlTransfer()........................................... 14-10
EFI_USB_HC_PROTOCOL.BulkTransfer() ............................................... 14-13
EFI_USB_HC_PROTOCOL.AsyncInterruptTransfer() ............................... 14-16
EFI_USB_HC_PROTOCOL.SyncInterruptTransfer() ................................. 14-19
EFI_USB_HC_PROTOCOL.IsochronousTransfer() ................................... 14-21
EFI_USB_HC_PROTOCOL.AsyncIsochronousTransfer() ......................... 14-23
EFI_USB_HC_PROTOCOL.GetRootHubPortNumber()............................. 14-25
EFI_USB_HC_PROTOCOL.GetRootHubPortStatus() ............................... 14-26
EFI_USB_HC_PROTOCOL.SetRootHubPortFeature().............................. 14-30
EFI_USB_HC_PROTOCOL.ClearRootHubPortFeature() .......................... 14-32
14.2
USB Driver Model ........................................................................................... 14-34
14.2.1
Scope..................................................................................................... 14-34
14.2.2
USB Driver Model Overview ................................................................... 14-34
14.2.3
USB Bus Driver ...................................................................................... 14-35
14.2.3.1
USB Bus Driver Entry Point ......................................................... 14-35
14.2.3.2
Driver Binding Protocol for USB Bus Drivers ............................... 14-35
14.2.3.3
USB Hot-Plug Event .................................................................... 14-36
14.2.3.4
USB Bus Enumeration................................................................. 14-36
14.2.4
USB Device Driver ................................................................................. 14-37
14.2.4.1
USB Device Driver Entry Point .................................................... 14-37
14.2.4.2
Driver Binding Protocol for USB Device Drivers........................... 14-37
14.2.5
EFI USB I/O Protocol Overview.............................................................. 14-37
EFI_USB_IO Protocol .................................................................................. 14-38
EFI_USB_IO_PROTOCOL.UsbControlTransfer() ...................................... 14-40
EFI_USB_IO_PROTOCOL.UsbBulkTransfer()........................................... 14-43
EFI_USB_IO_PROTOCOL.UsbAsyncInterruptTransfer()........................... 14-45
EFI_USB_IO_PROTOCOL.UsbSyncInterruptTransfer() ............................ 14-48
EFI_USB_IO_PROTOCOL.UsbIsochronousTransfer() .............................. 14-50
EFI_USB_IO_PROTOCOL.UsbAsyncIsochronousTransfer()..................... 14-52
EFI_USB_IO_PROTOCOL.UsbGetDeviceDescriptor() .............................. 14-54
EFI_USB_IO_PROTOCOL.UsbGetConfigDescriptor()............................... 14-56
EFI_USB_IO_PROTOCOL.UsbGetInterfaceDescriptor() ........................... 14-57
EFI_USB_IO_PROTOCOL.UsbGetEndpointDescriptor()........................... 14-59
EFI_USB_IO_PROTOCOL.UsbGetStringDescriptor()................................ 14-61
EFI_USB_IO_PROTOCOL.UsbGetSupportedLanguages() ....................... 14-62
EFI_USB_IO_PROTOCOL.UsbPortReset()............................................... 14-63
14.2.6
USB Device Paths.................................................................................. 14-64
14.2.6.1
USB Device Path Node ............................................................... 14-64
14.2.6.2
USB Device Path Example .......................................................... 14-65