TianoCore EDK2 master
|
#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 <Library/ReportStatusCodeLib.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 |
Macros | |
#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 EFI_TIMER_PERIOD_MILLISECONDS(1) |
#define | USB_DEBUG_PORT_IN_USE BIT10 |
#define | USB_DEBUG_PORT_ENABLE BIT28 |
#define | USB_DEBUG_PORT_OWNER BIT30 |
#define | USB_DEBUG_PORT_IN_USE_MASK |
#define | EHC_TPL TPL_NOTIFY |
#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 |
Provides some data struct used by EHCI controller driver.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Ehci.h.
#define EFI_LIST_CONTAINER | ( | Entry, | |
Type, | |||
Field | |||
) | BASE_CR(Entry, Type, Field) |
#define EHC_ASYNC_POLL_INTERVAL EFI_TIMER_PERIOD_MILLISECONDS(1) |
#define EHC_BIT_IS_SET | ( | Data, | |
Bit | |||
) | ((BOOLEAN)(((Data) & (Bit)) == (Bit))) |
#define EHC_FROM_THIS | ( | a | ) | CR(a, USB2_HC_DEV, Usb2Hc, USB2_HC_DEV_SIGNATURE) |
#define EHC_LOW_32BIT | ( | Addr64 | ) | ((UINT32)(((UINTN)(Addr64)) & 0XFFFFFFFF)) |
#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 USB_DEBUG_PORT_IN_USE_MASK |
typedef struct _USB2_HC_DEV USB2_HC_DEV |
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.
This | Protocol instance pointer. |
Controller | Handle of device to test. |
RemainingDevicePath | Not used. |
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 stopping any child handles created by this driver.
This | Protocol instance pointer. |
Controller | Handle of device to stop driver on. |
NumberOfChildren | Number of Children in the ChildHandleBuffer. |
ChildHandleBuffer | List of handles for the children we need to stop. |
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.
This | Protocol instance pointer. |
Controller | Handle of device to test. |
RemainingDevicePath | Not used. |
|
extern |
Definition at line 15 of file ComponentName.c.
|
extern |
Definition at line 24 of file ComponentName.c.
|
extern |