diff options
Diffstat (limited to 'MdeModulePkg/Bus/Pci/UhciDxe/Uhci.h')
-rw-r--r-- | MdeModulePkg/Bus/Pci/UhciDxe/Uhci.h | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.h b/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.h deleted file mode 100644 index 8635d8231c..0000000000 --- a/MdeModulePkg/Bus/Pci/UhciDxe/Uhci.h +++ /dev/null @@ -1,221 +0,0 @@ -/** @file
-
- The definition for UHCI driver model and HC protocol routines.
-
-Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-
-#ifndef _EFI_UHCI_H_
-#define _EFI_UHCI_H_
-
-
-#include <Uefi.h>
-
-#include <Protocol/Usb2HostController.h>
-#include <Protocol/UsbHostController.h>
-#include <Protocol/PciIo.h>
-
-#include <Guid/EventGroup.h>
-
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/BaseLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/PcdLib.h>
-#include <Library/ReportStatusCodeLib.h>
-
-#include <IndustryStandard/Pci.h>
-
-typedef struct _USB_HC_DEV USB_HC_DEV;
-
-#include "UsbHcMem.h"
-#include "UhciQueue.h"
-#include "UhciReg.h"
-#include "UhciSched.h"
-#include "UhciDebug.h"
-#include "ComponentName.h"
-
-//
-// UHC timeout experience values
-//
-
-#define UHC_1_MICROSECOND 1
-#define UHC_1_MILLISECOND (1000 * UHC_1_MICROSECOND)
-#define UHC_1_SECOND (1000 * UHC_1_MILLISECOND)
-
-//
-// UHCI register operation timeout, set by experience
-//
-#define UHC_GENERIC_TIMEOUT UHC_1_SECOND
-
-//
-// Wait for force global resume(FGR) complete, refers to
-// specification[UHCI11-2.1.1]
-//
-#define UHC_FORCE_GLOBAL_RESUME_STALL (20 * UHC_1_MILLISECOND)
-
-//
-// Wait for roothub port reset and recovery, reset stall
-// is set by experience, and recovery stall refers to
-// specification[UHCI11-2.1.1]
-//
-#define UHC_ROOT_PORT_RESET_STALL (50 * UHC_1_MILLISECOND)
-#define UHC_ROOT_PORT_RECOVERY_STALL (10 * UHC_1_MILLISECOND)
-
-//
-// Sync and Async transfer polling interval, set by experience,
-// and the unit of Async is 100us.
-//
-#define UHC_SYNC_POLL_INTERVAL (1 * UHC_1_MILLISECOND)
-#define UHC_ASYNC_POLL_INTERVAL EFI_TIMER_PERIOD_MILLISECONDS(1)
-
-//
-// UHC raises TPL to TPL_NOTIFY to serialize all its operations
-// to protect shared data structures.
-//
-#define UHCI_TPL TPL_NOTIFY
-
-#define USB_HC_DEV_SIGNATURE SIGNATURE_32 ('u', 'h', 'c', 'i')
-
-#pragma pack(1)
-typedef struct {
- UINT8 ProgInterface;
- UINT8 SubClassCode;
- UINT8 BaseCode;
-} USB_CLASSC;
-#pragma pack()
-
-#define UHC_FROM_USB2_HC_PROTO(This) CR(This, USB_HC_DEV, Usb2Hc, USB_HC_DEV_SIGNATURE)
-
-//
-// USB_HC_DEV support the UHCI hardware controller. It schedules
-// the asynchronous interrupt transfer with the same method as
-// EHCI: a reversed tree structure. For synchronous interrupt,
-// control and bulk transfer, it uses three static queue head to
-// schedule them. SyncIntQh is for interrupt transfer. LsCtrlQh is
-// for LOW speed control transfer, and FsCtrlBulkQh is for FULL
-// speed control or bulk transfer. This is because FULL speed contrl
-// or bulk transfer can reclaim the unused bandwidth. Some USB
-// device requires this bandwidth reclamation capability.
-//
-struct _USB_HC_DEV {
- UINT32 Signature;
- EFI_USB2_HC_PROTOCOL Usb2Hc;
- EFI_PCI_IO_PROTOCOL *PciIo;
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;
- UINT64 OriginalPciAttributes;
-
- //
- // Schedule data structures
- //
- UINT32 *FrameBase; // the buffer pointed by this pointer is used to store pci bus address of the QH descriptor.
- UINT32 *FrameBaseHostAddr; // the buffer pointed by this pointer is used to store host memory address of the QH descriptor.
- UHCI_QH_SW *SyncIntQh;
- UHCI_QH_SW *CtrlQh;
- UHCI_QH_SW *BulkQh;
-
- //
- // Structures to maintain asynchronus interrupt transfers.
- // When asynchronous interrutp transfer is unlinked from
- // the frame list, the hardware may still hold a pointer
- // to it. To synchronize with hardware, its resoureces are
- // released in two steps using Recycle and RecycleWait.
- // Check the asynchronous interrupt management routines.
- //
- LIST_ENTRY AsyncIntList;
- EFI_EVENT AsyncIntMonitor;
- UHCI_ASYNC_REQUEST *Recycle;
- UHCI_ASYNC_REQUEST *RecycleWait;
-
-
- UINTN RootPorts;
- USBHC_MEM_POOL *MemPool;
- EFI_UNICODE_STRING_TABLE *CtrlNameTable;
- VOID *FrameMapping;
-
- //
- // ExitBootServicesEvent is used to stop the EHC DMA operation
- // after exit boot service.
- //
- EFI_EVENT ExitBootServiceEvent;
-};
-
-extern EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL gUhciComponentName;
-extern EFI_COMPONENT_NAME2_PROTOCOL gUhciComponentName2;
-
-/**
- Test to see if this driver supports ControllerHandle. Any
- ControllerHandle that has UsbHcProtocol installed will be supported.
-
- @param This Protocol instance pointer.
- @param Controller Handle of device to test.
- @param RemainingDevicePath Not used.
-
- @return EFI_SUCCESS This driver supports this device.
- @return EFI_UNSUPPORTED This driver does not support this device.
-
-**/
-EFI_STATUS
-EFIAPI
-UhciDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE Controller,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
- );
-
-/**
- Starting the Usb UHCI Driver.
-
- @param This Protocol instance pointer.
- @param Controller Handle of device to test.
- @param RemainingDevicePath Not used.
-
- @retval EFI_SUCCESS This driver supports this device.
- @retval EFI_UNSUPPORTED This driver does not support this device.
- @retval EFI_DEVICE_ERROR This driver cannot be started due to device Error.
- EFI_OUT_OF_RESOURCES- Failed due to resource shortage.
-
-**/
-EFI_STATUS
-EFIAPI
-UhciDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE Controller,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
- );
-
-/**
- Stop this driver on ControllerHandle. Support stoping any child handles
- created by this driver.
-
- @param This Protocol instance pointer.
- @param Controller Handle of device to stop driver on.
- @param NumberOfChildren Number of Children in the ChildHandleBuffer.
- @param ChildHandleBuffer List of handles for the children we need to stop.
-
- @return EFI_SUCCESS
- @return others
-
-**/
-EFI_STATUS
-EFIAPI
-UhciDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE Controller,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- );
-
-#endif
|