mirror of https://github.com/acidanthera/audk.git
211 lines
5.9 KiB
C
211 lines
5.9 KiB
C
/** @file
|
|
|
|
Copyright (c) 2007, Intel Corporation
|
|
All rights reserved. This program and the accompanying materials
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
Module Name:
|
|
|
|
UsbUtility.h
|
|
|
|
Abstract:
|
|
|
|
Manage Usb Port/Hc/Etc
|
|
|
|
Revision History
|
|
|
|
|
|
**/
|
|
|
|
#ifndef _USB_UTILITY_H
|
|
#define _USB_UTILITY_H
|
|
|
|
EFI_STATUS
|
|
UsbHcGetCapability (
|
|
IN USB_BUS *UsbBus,
|
|
OUT UINT8 *MaxSpeed,
|
|
OUT UINT8 *NumOfPort,
|
|
OUT UINT8 *Is64BitCapable
|
|
);
|
|
|
|
EFI_STATUS
|
|
UsbHcReset (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT16 Attributes
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcGetState (
|
|
IN USB_BUS *UsbBus,
|
|
OUT EFI_USB_HC_STATE *State
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcSetState (
|
|
IN USB_BUS *UsbBus,
|
|
IN EFI_USB_HC_STATE State
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcGetRootHubPortStatus (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 PortIndex,
|
|
OUT EFI_USB_PORT_STATUS *PortStatus
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcSetRootHubPortFeature (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 PortIndex,
|
|
IN EFI_USB_PORT_FEATURE Feature
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcClearRootHubPortFeature (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 PortIndex,
|
|
IN EFI_USB_PORT_FEATURE Feature
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcControlTransfer (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 DevAddr,
|
|
IN UINT8 DevSpeed,
|
|
IN UINTN MaxPacket,
|
|
IN EFI_USB_DEVICE_REQUEST *Request,
|
|
IN EFI_USB_DATA_DIRECTION Direction,
|
|
IN OUT VOID *Data,
|
|
IN OUT UINTN *DataLength,
|
|
IN UINTN TimeOut,
|
|
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator,
|
|
OUT UINT32 *UsbResult
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcBulkTransfer (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 DevAddr,
|
|
IN UINT8 EpAddr,
|
|
IN UINT8 DevSpeed,
|
|
IN UINTN MaxPacket,
|
|
IN UINT8 BufferNum,
|
|
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 *UsbResult
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcAsyncInterruptTransfer (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 DevAddr,
|
|
IN UINT8 EpAddr,
|
|
IN UINT8 DevSpeed,
|
|
IN UINTN MaxPacket,
|
|
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 Callback,
|
|
IN VOID *Context OPTIONAL
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcSyncInterruptTransfer (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 DevAddr,
|
|
IN UINT8 EpAddr,
|
|
IN UINT8 DevSpeed,
|
|
IN UINTN MaxPacket,
|
|
IN OUT VOID *Data,
|
|
IN OUT UINTN *DataLength,
|
|
IN OUT UINT8 *DataToggle,
|
|
IN UINTN TimeOut,
|
|
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator,
|
|
OUT UINT32 *UsbResult
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcIsochronousTransfer (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 DevAddr,
|
|
IN UINT8 EpAddr,
|
|
IN UINT8 DevSpeed,
|
|
IN UINTN MaxPacket,
|
|
IN UINT8 BufferNum,
|
|
IN OUT VOID *Data[EFI_USB_MAX_ISO_BUFFER_NUM],
|
|
IN UINTN DataLength,
|
|
IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator,
|
|
OUT UINT32 *UsbResult
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbHcAsyncIsochronousTransfer (
|
|
IN USB_BUS *UsbBus,
|
|
IN UINT8 DevAddr,
|
|
IN UINT8 EpAddr,
|
|
IN UINT8 DevSpeed,
|
|
IN UINTN MaxPacket,
|
|
IN UINT8 BufferNum,
|
|
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 Callback,
|
|
IN VOID *Context
|
|
);
|
|
|
|
|
|
EFI_STATUS
|
|
UsbOpenHostProtoByChild (
|
|
IN USB_BUS *Bus,
|
|
IN EFI_HANDLE Child
|
|
);
|
|
|
|
|
|
VOID
|
|
UsbCloseHostProtoByChild (
|
|
IN USB_BUS *Bus,
|
|
IN EFI_HANDLE Child
|
|
);
|
|
|
|
|
|
EFI_TPL
|
|
UsbGetCurrentTpl (
|
|
VOID
|
|
);
|
|
|
|
|
|
VOID
|
|
UsbDebug (
|
|
IN CHAR8 *Format,
|
|
...
|
|
);
|
|
|
|
|
|
VOID
|
|
UsbError (
|
|
IN CHAR8 *Format,
|
|
...
|
|
);
|
|
#endif
|