EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index
Data Structures | Defines | Typedefs | Functions | Variables

MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h File Reference

#include <Uefi.h>
#include <Protocol/Usb2HostController.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 <IndustryStandard/Pci.h>
#include "UsbHcMem.h"
#include "EhciReg.h"
#include "EhciUrb.h"
#include "EhciSched.h"
#include "EhciDebug.h"
#include "ComponentName.h"

Go to the source code of this file.

Data Structures

struct  _USB2_HC_DEV

Defines

#define EHC_1_MICROSECOND   1
#define EHC_1_MILLISECOND   (1000 * EHC_1_MICROSECOND)
#define EHC_1_SECOND   (1000 * EHC_1_MILLISECOND)
#define EHC_RESET_TIMEOUT   (1 * EHC_1_SECOND)
#define EHC_GENERIC_TIMEOUT   (10 * EHC_1_MILLISECOND)
#define EHC_ROOT_PORT_RECOVERY_STALL   (20 * EHC_1_MILLISECOND)
#define EHC_SYNC_POLL_INTERVAL   (1 * EHC_1_MILLISECOND)
#define EHC_ASYNC_POLL_INTERVAL   (50 * 10000U)
#define EHC_TPL   TPL_NOTIFY
#define EFI_LIST_FOR_EACH(Entry, ListHead)   for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink)
#define EFI_LIST_FOR_EACH_SAFE(Entry, NextEntry, ListHead)
#define EFI_LIST_CONTAINER(Entry, Type, Field)   BASE_CR(Entry, Type, Field)
#define EHC_LOW_32BIT(Addr64)   ((UINT32)(((UINTN)(Addr64)) & 0XFFFFFFFF))
#define EHC_HIGH_32BIT(Addr64)   ((UINT32)(RShiftU64((UINTN)(Addr64), 32) & 0XFFFFFFFF))
#define EHC_BIT_IS_SET(Data, Bit)   ((BOOLEAN)(((Data) & (Bit)) == (Bit)))
#define EHC_REG_BIT_IS_SET(Ehc, Offset, Bit)   (EHC_BIT_IS_SET(EhcReadOpReg ((Ehc), (Offset)), (Bit)))
#define USB2_HC_DEV_SIGNATURE   SIGNATURE_32 ('e', 'h', 'c', 'i')
#define EHC_FROM_THIS(a)   CR(a, USB2_HC_DEV, Usb2Hc, USB2_HC_DEV_SIGNATURE)

Typedefs

typedef struct _USB2_HC_DEV USB2_HC_DEV

Functions

EFI_STATUS EFIAPI EhcDriverBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
EFI_STATUS EFIAPI EhcDriverBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
EFI_STATUS EFIAPI EhcDriverBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)

Variables

EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding
EFI_COMPONENT_NAME_PROTOCOL gEhciComponentName
EFI_COMPONENT_NAME2_PROTOCOL gEhciComponentName2

Detailed Description

Provides some data struct used by EHCI controller driver.

Copyright (c) 2006 - 2010, 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.

Definition in file Ehci.h.


Define Documentation

#define EFI_LIST_CONTAINER (   Entry,
  Type,
  Field 
)    BASE_CR(Entry, Type, Field)

Definition at line 93 of file Ehci.h.

#define EFI_LIST_FOR_EACH (   Entry,
  ListHead 
)    for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink)

Definition at line 82 of file Ehci.h.

#define EFI_LIST_FOR_EACH_SAFE (   Entry,
  NextEntry,
  ListHead 
)
Value:
for(Entry = (ListHead)->ForwardLink, NextEntry = Entry->ForwardLink;\
      Entry != (ListHead); Entry = NextEntry, NextEntry = Entry->ForwardLink)

Definition at line 89 of file Ehci.h.

#define EHC_1_MICROSECOND   1

Definition at line 51 of file Ehci.h.

#define EHC_1_MILLISECOND   (1000 * EHC_1_MICROSECOND)

Definition at line 52 of file Ehci.h.

#define EHC_1_SECOND   (1000 * EHC_1_MILLISECOND)

Definition at line 53 of file Ehci.h.

#define EHC_ASYNC_POLL_INTERVAL   (50 * 10000U)

Definition at line 71 of file Ehci.h.

#define EHC_BIT_IS_SET (   Data,
  Bit 
)    ((BOOLEAN)(((Data) & (Bit)) == (Bit)))

Definition at line 98 of file Ehci.h.

#define EHC_FROM_THIS (   a)    CR(a, USB2_HC_DEV, Usb2Hc, USB2_HC_DEV_SIGNATURE)

Definition at line 104 of file Ehci.h.

#define EHC_GENERIC_TIMEOUT   (10 * EHC_1_MILLISECOND)

Definition at line 59 of file Ehci.h.

#define EHC_HIGH_32BIT (   Addr64)    ((UINT32)(RShiftU64((UINTN)(Addr64), 32) & 0XFFFFFFFF))

Definition at line 97 of file Ehci.h.

#define EHC_LOW_32BIT (   Addr64)    ((UINT32)(((UINTN)(Addr64)) & 0XFFFFFFFF))

Definition at line 96 of file Ehci.h.

#define EHC_REG_BIT_IS_SET (   Ehc,
  Offset,
  Bit 
)    (EHC_BIT_IS_SET(EhcReadOpReg ((Ehc), (Offset)), (Bit)))

Definition at line 100 of file Ehci.h.

#define EHC_RESET_TIMEOUT   (1 * EHC_1_SECOND)

Definition at line 58 of file Ehci.h.

#define EHC_ROOT_PORT_RECOVERY_STALL   (20 * EHC_1_MILLISECOND)

Definition at line 64 of file Ehci.h.

#define EHC_SYNC_POLL_INTERVAL   (1 * EHC_1_MILLISECOND)

Definition at line 70 of file Ehci.h.

#define EHC_TPL   TPL_NOTIFY

Definition at line 77 of file Ehci.h.

#define USB2_HC_DEV_SIGNATURE   SIGNATURE_32 ('e', 'h', 'c', 'i')

Definition at line 103 of file Ehci.h.


Typedef Documentation

typedef struct _USB2_HC_DEV USB2_HC_DEV

Definition at line 38 of file Ehci.h.


Function Documentation

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

Starting the Usb EHCI Driver.

Parameters:
ThisProtocol instance pointer.
ControllerHandle of device to test.
RemainingDevicePathNot used.
Returns:
EFI_SUCCESS supports this device.
EFI_UNSUPPORTED do not support this device.
EFI_DEVICE_ERROR cannot be started due to device Error.
EFI_OUT_OF_RESOURCES cannot allocate resources.

Definition at line 1508 of file Ehci.c.

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

Stop this driver on ControllerHandle. Support stoping 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 Success.
EFI_DEVICE_ERROR Fail.

Definition at line 1829 of file Ehci.c.

EFI_STATUS EFIAPI EhcDriverBindingSupported ( 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 Usb2HcProtocol 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 1323 of file Ehci.c.


Variable Documentation

Definition at line 23 of file ComponentName.c.

Definition at line 32 of file ComponentName.c.

Definition at line 48 of file Ehci.c.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines