X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FProtocol%2FUsb2HostController.h;h=5e56a24d2335a2dab3782371e3058441a80a440e;hp=933ec08f03328587e1ce68206896f1f65bdce5c5;hb=4ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086;hpb=bb80e3b213f1d9409cd97a63e4d40191ce502912 diff --git a/MdePkg/Include/Protocol/Usb2HostController.h b/MdePkg/Include/Protocol/Usb2HostController.h index 933ec08f03..5e56a24d23 100644 --- a/MdePkg/Include/Protocol/Usb2HostController.h +++ b/MdePkg/Include/Protocol/Usb2HostController.h @@ -1,5 +1,8 @@ /** @file EFI_USB2_HC_PROTOCOL as defined in UEFI 2.0. + The USB Host Controller Protocol is used by code, typically USB bus drivers, + running in the EFI boot services environment, to perform data transactions over + a USB bus. In addition, it provides an abstraction for the root hub of the USB bus. Copyright (c) 2006, Intel Corporation All rights reserved. This program and the accompanying materials @@ -141,15 +144,15 @@ EFI_STATUS /** - @param EfiUsbHcStateHalt The host controller is in halt - state. No USB transactions can occur - while in this state. The host - controller can enter this state for - three reasons: 1) After host - controller hardware reset. 2) - Explicitly set by software. 3) - Triggered by a fatal error such as - consistency check failure. + @param EfiUsbHcStateHalt The host controller is in halt + state. No USB transactions can occur + while in this state. The host + controller can enter this state for + three reasons: 1) After host + controller hardware reset. 2) + Explicitly set by software. 3) + Triggered by a fatal error such as + consistency check failure. @param EfiUsbHcStateOperational The host controller is in an @@ -161,15 +164,15 @@ EFI_STATUS USB bus traffic. - @param EfiUsbHcStateSuspend The host controller is in the - suspend state. No USB - transactions can occur while in - this state. The host controller - enters this state for the - following reasons: 1) Explicitly - set by software. 2) Triggered - when there is no bus traffic for - 3 microseconds. + @param EfiUsbHcStateSuspend The host controller is in the + suspend state. No USB + transactions can occur while in + this state. The host controller + enters this state for the + following reasons: 1) Explicitly + set by software. 2) Triggered + when there is no bus traffic for + 3 microseconds. **/ typedef enum { @@ -235,9 +238,9 @@ EFI_STATUS received from USB device. @param DataLength On input, indicates the size, in bytes, of the data buffer specified by Data. On output, indicates the amount of data actually transferred. - @param Translator A pointer to the transaction translator data. @param TimeOut Indicates the maximum time, in milliseconds, which the transfer is allowed to complete. + @param Translator A pointer to the transaction translator data. @param TransferResult A pointer to the detailed result information generated by this control transfer. @@ -284,9 +287,9 @@ EFI_STATUS @param DataLength When input, indicates the size, in bytes, of the data buffers specified by Data. When output, indicates the actually transferred data size. @param DataToggle A pointer to the data toggle value. - @param Translator A pointer to the transaction translator data. @param TimeOut Indicates the maximum time, in milliseconds, which the transfer is allowed to complete. + @param Translator A pointer to the transaction translator data. @param TransferResult A pointer to the detailed result information of the bulk transfer. @retval EFI_SUCCESS The bulk transfer was completed successfully. @@ -568,6 +571,64 @@ EFI_STATUS ) ; +/** + @par Protocol Description: + The EFI_USB2_HC_PROTOCOL provides USB host controller management, basic + data transactions over a USB bus, and USB root hub access. A device driver + that wishes to manage a USB bus in a system retrieves the EFI_USB2_HC_PROTOCOL + instance that is associated with the USB bus to be managed. A device handle + for a USB host controller will minimally contain an EFI_DEVICE_PATH_PROTOCOL + instance, and an EFI_USB2_HC_PROTOCOL instance. + + @param GetCapability + Retrieves the capabilities of the USB host controller. + + @param Reset + Software reset of USB. + + @param GetState + Retrieves the current state of the USB host controller. + + @param SetState + Sets the USB host controller to a specific state. + + @param ControlTransfer + Submits a control transfer to a target USB device. + + @param BulkTransfer + Submits a bulk transfer to a bulk endpoint of a USB device. + + @param AsyncInterruptTransfer + Submits an asynchronous interrupt transfer to an interrupt endpoint of a USB device. + + @param SyncInterruptTransfer + Submits a synchronous interrupt transfer to an interrupt endpoint of a USB device. + + @param IsochronousTransfer + Submits isochronous transfer to an isochronous endpoint of a USB device. + + @param AsyncIsochronousTransfer + Submits nonblocking USB isochronous transfer. + + @param GetRootHubPortStatus + Retrieves the status of the specified root hub port. + + @param SetRootHubPortFeature + Sets the feature for the specified root hub port. + + @param ClearRootHubPortFeature + Clears the feature for the specified root hub port. + + @param MajorRevision + The major revision number of the USB host controller. The revision information + indicates the release of the Universal Serial Bus Specification with which the + host controller is compliant. + + @param MinorRevision + The minor revision number of the USB host controller. The revision information + indicates the release of the Universal Serial Bus Specification with which the + host controller is compliant. +**/ struct _EFI_USB2_HC_PROTOCOL { EFI_USB2_HC_PROTOCOL_GET_CAPABILITY GetCapability; EFI_USB2_HC_PROTOCOL_RESET Reset;