1) Signal event immediately after HUB UsbRootHubEnumeration event is installed 2) Move UsbHcReset and UsbHcSetState before mUsbRootHubApi.Init 3) Change USB_DEBUG and USB_ERROR to R9 DEBUG macro. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3680 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			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
 |