TianoCore EDK2 master
Loading...
Searching...
No Matches
Uhci.c File Reference
#include "Uhci.h"

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI Uhci2Reset (IN EFI_USB2_HC_PROTOCOL *This, IN UINT16 Attributes)
 
EFI_STATUS EFIAPI Uhci2GetState (IN EFI_USB2_HC_PROTOCOL *This, OUT EFI_USB_HC_STATE *State)
 
EFI_STATUS EFIAPI Uhci2SetState (IN EFI_USB2_HC_PROTOCOL *This, IN EFI_USB_HC_STATE State)
 
EFI_STATUS EFIAPI Uhci2GetCapability (IN EFI_USB2_HC_PROTOCOL *This, OUT UINT8 *MaxSpeed, OUT UINT8 *PortNumber, OUT UINT8 *Is64BitCapable)
 
EFI_STATUS EFIAPI Uhci2GetRootHubPortStatus (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 PortNumber, OUT EFI_USB_PORT_STATUS *PortStatus)
 
EFI_STATUS EFIAPI Uhci2SetRootHubPortFeature (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
 
EFI_STATUS EFIAPI Uhci2ClearRootHubPortFeature (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
 
EFI_STATUS EFIAPI Uhci2ControlTransfer (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION TransferDirection, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN UINTN TimeOut, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
 
EFI_STATUS EFIAPI Uhci2BulkTransfer (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN UINT8 DataBuffersNumber, IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
 
EFI_STATUS EFIAPI Uhci2AsyncInterruptTransfer (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN BOOLEAN IsNewTransfer, IN OUT UINT8 *DataToggle, IN UINTN PollingInterval, IN UINTN DataLength, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, IN EFI_ASYNC_USB_TRANSFER_CALLBACK CallBackFunction, IN VOID *Context)
 
EFI_STATUS EFIAPI Uhci2SyncInterruptTransfer (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
 
EFI_STATUS EFIAPI Uhci2IsochronousTransfer (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN UINT8 DataBuffersNumber, IN OUT VOID *Data[EFI_USB_MAX_ISO_BUFFER_NUM], IN UINTN DataLength, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, OUT UINT32 *TransferResult)
 
EFI_STATUS EFIAPI Uhci2AsyncIsochronousTransfer (IN EFI_USB2_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 DeviceSpeed, IN UINTN MaximumPacketLength, IN UINT8 DataBuffersNumber, IN OUT VOID *Data[EFI_USB_MAX_ISO_BUFFER_NUM], IN UINTN DataLength, IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack, IN VOID *Context)
 
EFI_STATUS EFIAPI UhciDriverEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 
EFI_STATUS EFIAPI UhciDriverBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
 
USB_HC_DEVUhciAllocateDev (IN EFI_PCI_IO_PROTOCOL *PciIo, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN UINT64 OriginalPciAttributes)
 
VOID UhciFreeDev (IN USB_HC_DEV *Uhc)
 
VOID UhciCleanDevUp (IN EFI_HANDLE Controller, IN EFI_USB2_HC_PROTOCOL *This)
 
VOID EFIAPI UhcExitBootService (EFI_EVENT Event, VOID *Context)
 
EFI_STATUS EFIAPI UhciDriverBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
 
EFI_STATUS EFIAPI UhciDriverBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
 

Variables

EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding
 

Detailed Description

The UHCI driver model and HC protocol routines.

Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Uhci.c.

Function Documentation

◆ UhcExitBootService()

VOID EFIAPI UhcExitBootService ( EFI_EVENT  Event,
VOID *  Context 
)

One notified function to stop the Host Controller when gBS->ExitBootServices() called.

Parameters
EventPointer to this event
ContextEvent handler private data

Definition at line 1573 of file Uhci.c.

◆ Uhci2AsyncInterruptTransfer()

EFI_STATUS EFIAPI Uhci2AsyncInterruptTransfer ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  DeviceAddress,
IN UINT8  EndPointAddress,
IN UINT8  DeviceSpeed,
IN UINTN  MaximumPacketLength,
IN BOOLEAN  IsNewTransfer,
IN OUT UINT8 *  DataToggle,
IN UINTN  PollingInterval,
IN UINTN  DataLength,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR Translator,
IN EFI_ASYNC_USB_TRANSFER_CALLBACK  CallBackFunction,
IN VOID *  Context 
)

Submits an asynchronous interrupt transfer to an interrupt endpoint of a USB device according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
DeviceAddressTarget device address.
EndPointAddressEndpoint number and direction.
DeviceSpeedDevice speed.
MaximumPacketLengthMaximum packet size of the target endpoint.
IsNewTransferIf TRUE, submit a new transfer, if FALSE cancel old transfer.
DataToggleOn input, data toggle to use; On output, next data toggle.
PollingIntervalInterrupt poll rate in milliseconds.
DataLengthOn input, size of the data buffer, On output, actually transferred data size.
TranslatorA pointr to the transaction translator data.
CallBackFunctionFunction to call periodically.
ContextUser context.
Returns
EFI_SUCCESS Transfer was submitted.
EFI_INVALID_PARAMETER Some parameters are invalid.
EFI_OUT_OF_RESOURCES Failed due to a lack of resources.
EFI_DEVICE_ERROR Can't read register.

Definition at line 929 of file Uhci.c.

◆ Uhci2AsyncIsochronousTransfer()

EFI_STATUS EFIAPI Uhci2AsyncIsochronousTransfer ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  DeviceAddress,
IN UINT8  EndPointAddress,
IN UINT8  DeviceSpeed,
IN UINTN  MaximumPacketLength,
IN UINT8  DataBuffersNumber,
IN OUT VOID *  Data[EFI_USB_MAX_ISO_BUFFER_NUM],
IN UINTN  DataLength,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR Translator,
IN EFI_ASYNC_USB_TRANSFER_CALLBACK  IsochronousCallBack,
IN VOID *  Context 
)

Submits Async isochronous transfer to a target USB device according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
DeviceAddressTarget device address.
EndPointAddressEndpoint number and direction.
DeviceSpeedDevice speed.
MaximumPacketLengthMaximum packet size of the target endpoint.
DataBuffersNumberNumber of data buffers prepared for the transfer.
DataArray of pointers to the buffers of data.
DataLengthOn input, size of the data buffer, On output, actually transferred data size.
TranslatorA pointr to the transaction translator data.
IsochronousCallBackFunction to call when the transfer complete.
ContextPass to the call back function as parameter.
Returns
EFI_UNSUPPORTED

Definition at line 1288 of file Uhci.c.

◆ Uhci2BulkTransfer()

EFI_STATUS EFIAPI Uhci2BulkTransfer ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  DeviceAddress,
IN UINT8  EndPointAddress,
IN UINT8  DeviceSpeed,
IN UINTN  MaximumPacketLength,
IN UINT8  DataBuffersNumber,
IN OUT VOID *  Data[EFI_USB_MAX_BULK_BUFFER_NUM],
IN OUT UINTN DataLength,
IN OUT UINT8 *  DataToggle,
IN UINTN  TimeOut,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR Translator,
OUT UINT32 *  TransferResult 
)

Submits bulk transfer to a bulk endpoint of a USB device.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
DeviceAddressTarget device address.
EndPointAddressEndpoint number and direction.
DeviceSpeedDevice speed.
MaximumPacketLengthMaximum packet size of the target endpoint.
DataBuffersNumberNumber of data buffers prepared for the transfer.
DataArray of pointers to the buffers of data.
DataLengthOn input, size of the data buffer, On output, actually transferred data size.
DataToggleOn input, data toggle to use; On output, next data toggle.
TimeOutMaximum time out, in microseconds.
TranslatorA pointr to the transaction translator data.
TransferResultVariable to receive transfer result.
Returns
EFI_SUCCESS The bulk transfer was completed successfully.
EFI_OUT_OF_RESOURCES Failed due to lack of resource.
EFI_INVALID_PARAMETER Some parameters are invalid.
EFI_TIMEOUT Failed due to timeout.
EFI_DEVICE_ERROR Failed due to host controller or device error.

Definition at line 778 of file Uhci.c.

◆ Uhci2ClearRootHubPortFeature()

EFI_STATUS EFIAPI Uhci2ClearRootHubPortFeature ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  PortNumber,
IN EFI_USB_PORT_FEATURE  PortFeature 
)

Clears a feature for the specified root hub port according to Uefi 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
PortNumberSpecifies the root hub port whose feature is requested to be cleared.
PortFeatureIndicates the feature selector associated with the feature clear request.
Returns
EFI_SUCCESS PortFeature was cleared for the USB root hub port.
EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid.
EFI_DEVICE_ERROR Can't read register.

Definition at line 499 of file Uhci.c.

◆ Uhci2ControlTransfer()

EFI_STATUS EFIAPI Uhci2ControlTransfer ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  DeviceAddress,
IN UINT8  DeviceSpeed,
IN UINTN  MaximumPacketLength,
IN EFI_USB_DEVICE_REQUEST Request,
IN EFI_USB_DATA_DIRECTION  TransferDirection,
IN OUT VOID *  Data,
IN OUT UINTN DataLength,
IN UINTN  TimeOut,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR Translator,
OUT UINT32 *  TransferResult 
)

Submits control transfer to a target USB device according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
DeviceAddressTarget device address.
DeviceSpeedDevice speed.
MaximumPacketLengthMaximum packet size of the target endpoint.
RequestUSB device request to send.
TransferDirectionData direction of the Data stage in control transfer.
DataData to transmit/receive in data stage.
DataLengthLength of the data.
TimeOutMaximum time, in microseconds, for transfer to complete.
TranslatorTransaction translator to be used by this device.
TransferResultVariable to receive the transfer result.
Returns
EFI_SUCCESS The control transfer was completed successfully.
EFI_OUT_OF_RESOURCES Failed due to lack of resource.
EFI_INVALID_PARAMETER Some parameters are invalid.
EFI_TIMEOUT Failed due to timeout.
EFI_DEVICE_ERROR Failed due to host controller or device error.

Definition at line 609 of file Uhci.c.

◆ Uhci2GetCapability()

EFI_STATUS EFIAPI Uhci2GetCapability ( IN EFI_USB2_HC_PROTOCOL This,
OUT UINT8 *  MaxSpeed,
OUT UINT8 *  PortNumber,
OUT UINT8 *  Is64BitCapable 
)

Retrieves capabilities of USB host controller according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
MaxSpeedA pointer to the max speed USB host controller supports.
PortNumberA pointer to the number of root hub ports.
Is64BitCapableA pointer to an integer to show whether USB host controller supports 64-bit memory addressing.
Returns
EFI_SUCCESS capabilities were retrieved successfully.
EFI_INVALID_PARAMETER MaxSpeed or PortNumber or Is64BitCapable is NULL.
EFI_DEVICE_ERROR An error was encountered.

Definition at line 280 of file Uhci.c.

◆ Uhci2GetRootHubPortStatus()

EFI_STATUS EFIAPI Uhci2GetRootHubPortStatus ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  PortNumber,
OUT EFI_USB_PORT_STATUS PortStatus 
)

Retrieves the current status of a USB root hub port according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL.
PortNumberThe port to get status.
PortStatusA pointer to the current port status bits and port status change bits.
Returns
EFI_SUCCESS status of the USB root hub port was returned in PortStatus.
EFI_INVALID_PARAMETER PortNumber is invalid.
EFI_DEVICE_ERROR Can't read register.

Definition at line 341 of file Uhci.c.

◆ Uhci2GetState()

EFI_STATUS EFIAPI Uhci2GetState ( IN EFI_USB2_HC_PROTOCOL This,
OUT EFI_USB_HC_STATE State 
)

Retrieves current state of the USB host controller according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
StateVariable to receive current device state.
Returns
EFI_SUCCESS The state is returned.
EFI_INVALID_PARAMETER State is not valid.
EFI_DEVICE_ERROR Other errors.

Definition at line 129 of file Uhci.c.

◆ Uhci2IsochronousTransfer()

EFI_STATUS EFIAPI Uhci2IsochronousTransfer ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  DeviceAddress,
IN UINT8  EndPointAddress,
IN UINT8  DeviceSpeed,
IN UINTN  MaximumPacketLength,
IN UINT8  DataBuffersNumber,
IN OUT VOID *  Data[EFI_USB_MAX_ISO_BUFFER_NUM],
IN UINTN  DataLength,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR Translator,
OUT UINT32 *  TransferResult 
)

Submits isochronous transfer to a target USB device according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
DeviceAddressTarget device address.
EndPointAddressEndpoint number and direction.
DeviceSpeedDevice speed.
MaximumPacketLengthMaximum packet size of the target endpoint.
DataBuffersNumberNumber of data buffers prepared for the transfer.
DataArray of pointers to the buffers of data.
DataLengthOn input, size of the data buffer, On output, actually transferred data size.
TranslatorA pointr to the transaction translator data.
TransferResultVariable to receive transfer result.
Returns
EFI_UNSUPPORTED

Definition at line 1251 of file Uhci.c.

◆ Uhci2Reset()

EFI_STATUS EFIAPI Uhci2Reset ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT16  Attributes 
)

Provides software reset for the USB host controller according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
AttributesA bit mask of the reset operation to perform. See below for a list of the supported bit mask values.
Returns
EFI_SUCCESS The reset operation succeeded.
EFI_INVALID_PARAMETER Attributes is not valid.
EFI_UNSUPPORTED This type of reset is not currently supported.
EFI_DEVICE_ERROR Other errors.

Definition at line 36 of file Uhci.c.

◆ Uhci2SetRootHubPortFeature()

EFI_STATUS EFIAPI Uhci2SetRootHubPortFeature ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  PortNumber,
IN EFI_USB_PORT_FEATURE  PortFeature 
)

Sets a feature for the specified root hub port according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL.
PortNumberSpecifies the root hub port whose feature is requested to be set.
PortFeatureIndicates the feature selector associated with the feature set request.
Returns
EFI_SUCCESS PortFeature was set for the root port.
EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid.
EFI_DEVICE_ERROR Can't read register.

Definition at line 420 of file Uhci.c.

◆ Uhci2SetState()

EFI_STATUS EFIAPI Uhci2SetState ( IN EFI_USB2_HC_PROTOCOL This,
IN EFI_USB_HC_STATE  State 
)

Sets the USB host controller to a specific state according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
StateIndicates the state of the host controller that will be set.
Returns
EFI_SUCCESS Host controller was successfully placed in the state.
EFI_INVALID_PARAMETER State is invalid.
EFI_DEVICE_ERROR Failed to set the state.

Definition at line 172 of file Uhci.c.

◆ Uhci2SyncInterruptTransfer()

EFI_STATUS EFIAPI Uhci2SyncInterruptTransfer ( IN EFI_USB2_HC_PROTOCOL This,
IN UINT8  DeviceAddress,
IN UINT8  EndPointAddress,
IN UINT8  DeviceSpeed,
IN UINTN  MaximumPacketLength,
IN OUT VOID *  Data,
IN OUT UINTN DataLength,
IN OUT UINT8 *  DataToggle,
IN UINTN  TimeOut,
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR Translator,
OUT UINT32 *  TransferResult 
)

Submits synchronous interrupt transfer to an interrupt endpoint of a USB device according to UEFI 2.0 spec.

Parameters
ThisA pointer to the EFI_USB2_HC_PROTOCOL instance.
DeviceAddressTarget device address.
EndPointAddressEndpoint number and direction.
DeviceSpeedDevice speed.
MaximumPacketLengthMaximum packet size of the target endpoint.
DataArray of pointers to the buffers of data.
DataLengthOn input, size of the data buffer, On output, actually transferred data size.
DataToggleOn input, data toggle to use; On output, next data toggle.
TimeOutMaximum time out, in microseconds.
TranslatorA pointr to the transaction translator data.
TransferResultVariable to receive transfer result.
Returns
EFI_SUCCESS The transfer was completed successfully.
EFI_OUT_OF_RESOURCES Failed due to lack of resource.
EFI_INVALID_PARAMETER Some parameters are invalid.
EFI_TIMEOUT Failed due to timeout.
EFI_DEVICE_ERROR Failed due to host controller or device error.

Definition at line 1110 of file Uhci.c.

◆ UhciAllocateDev()

USB_HC_DEV * UhciAllocateDev ( IN EFI_PCI_IO_PROTOCOL PciIo,
IN EFI_DEVICE_PATH_PROTOCOL DevicePath,
IN UINT64  OriginalPciAttributes 
)

Allocate and initialize the empty UHCI device.

Parameters
PciIoThe PCIIO to use.
DevicePathThe device path of host controller.
OriginalPciAttributesThe original PCI attributes.
Returns
Allocated UHCI device. If err, return NULL.

Definition at line 1419 of file Uhci.c.

◆ UhciCleanDevUp()

VOID UhciCleanDevUp ( IN EFI_HANDLE  Controller,
IN EFI_USB2_HC_PROTOCOL This 
)

Uninstall all Uhci Interface.

Parameters
ControllerController handle.
ThisProtocol instance pointer.

Definition at line 1525 of file Uhci.c.

◆ UhciDriverBindingStart()

EFI_STATUS EFIAPI UhciDriverBindingStart ( IN EFI_DRIVER_BINDING_PROTOCOL This,
IN EFI_HANDLE  Controller,
IN EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath 
)

Starting the Usb UHCI Driver.

Parameters
ThisProtocol instance pointer.
ControllerHandle of device to test.
RemainingDevicePathNot used.
Return values
EFI_SUCCESSThis driver supports this device.
EFI_UNSUPPORTEDThis driver does not support this device.
EFI_DEVICE_ERRORThis driver cannot be started due to device Error. EFI_OUT_OF_RESOURCES- Failed due to resource shortage.

Definition at line 1609 of file Uhci.c.

◆ UhciDriverBindingStop()

EFI_STATUS EFIAPI UhciDriverBindingStop ( IN EFI_DRIVER_BINDING_PROTOCOL This,
IN EFI_HANDLE  Controller,
IN UINTN  NumberOfChildren,
IN EFI_HANDLE ChildHandleBuffer 
)

Stop this driver on ControllerHandle. Support stopping any child handles created by this driver.

Parameters
ThisProtocol instance pointer.
ControllerHandle of device to stop driver on.
NumberOfChildrenNumber of Children in the ChildHandleBuffer.
ChildHandleBufferList of handles for the children we need to stop.
Returns
EFI_SUCCESS
others

Definition at line 1830 of file Uhci.c.

◆ UhciDriverBindingSupported()

EFI_STATUS EFIAPI UhciDriverBindingSupported ( IN EFI_DRIVER_BINDING_PROTOCOL This,
IN EFI_HANDLE  Controller,
IN EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath 
)

Test to see if this driver supports ControllerHandle. Any ControllerHandle that has UsbHcProtocol installed will be supported.

Parameters
ThisProtocol instance pointer.
ControllerHandle of device to test.
RemainingDevicePathNot used.
Returns
EFI_SUCCESS This driver supports this device.
EFI_UNSUPPORTED This driver does not support this device.

Definition at line 1346 of file Uhci.c.

◆ UhciDriverEntryPoint()

EFI_STATUS EFIAPI UhciDriverEntryPoint ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE SystemTable 
)

Entry point for EFI drivers.

Parameters
ImageHandleEFI_HANDLE.
SystemTableEFI_SYSTEM_TABLE.
Return values
EFI_SUCCESSDriver is successfully loaded.
Returns
Others Failed.

Definition at line 1317 of file Uhci.c.

◆ UhciFreeDev()

VOID UhciFreeDev ( IN USB_HC_DEV Uhc)

Free the UHCI device and release its associated resources.

Parameters
UhcThe UHCI device to release.

Definition at line 1494 of file Uhci.c.

Variable Documentation

◆ gUhciDriverBinding

EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding
Initial value:
= {
0x20,
}
#define NULL
Definition: Base.h:319
EFI_STATUS EFIAPI UhciDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: Uhci.c:1609
EFI_STATUS EFIAPI UhciDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
Definition: Uhci.c:1830
EFI_STATUS EFIAPI UhciDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
Definition: Uhci.c:1346

Definition at line 12 of file Uhci.c.