TianoCore EDK2 master
Loading...
Searching...
No Matches
SdMmcOverride.h File Reference

Go to the source code of this file.

Data Structures

union  EDKII_SD_MMC_DRIVER_STRENGTH
 
struct  EDKII_SD_MMC_OPERATING_PARAMETERS
 
struct  _EDKII_SD_MMC_OVERRIDE
 

Macros

#define EDKII_SD_MMC_OVERRIDE_PROTOCOL_GUID    { 0xeaf9e3c1, 0xc9cd, 0x46db, { 0xa5, 0xe5, 0x5a, 0x12, 0x4c, 0x83, 0x23, 0x23 } }
 
#define EDKII_SD_MMC_OVERRIDE_PROTOCOL_VERSION   0x3
 
#define EDKII_SD_MMC_BUS_WIDTH_IGNORE   MAX_UINT8
 
#define EDKII_SD_MMC_CLOCK_FREQ_IGNORE   MAX_UINT32
 
#define EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE   MAX_UINT8
 

Typedefs

typedef struct _EDKII_SD_MMC_OVERRIDE EDKII_SD_MMC_OVERRIDE
 
typedef EFI_STATUS(EFIAPI * EDKII_SD_MMC_CAPABILITY) (IN EFI_HANDLE ControllerHandle, IN UINT8 Slot, IN OUT VOID *SdMmcHcSlotCapability, IN OUT UINT32 *BaseClkFreq)
 
typedef EFI_STATUS(EFIAPI * EDKII_SD_MMC_NOTIFY_PHASE) (IN EFI_HANDLE ControllerHandle, IN UINT8 Slot, IN EDKII_SD_MMC_PHASE_TYPE PhaseType, IN OUT VOID *PhaseData)
 

Enumerations

enum  SD_DRIVER_STRENGTH_TYPE {
  SdDriverStrengthTypeB = 0 , SdDriverStrengthTypeA , SdDriverStrengthTypeC , SdDriverStrengthTypeD ,
  SdDriverStrengthIgnore = EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE
}
 
enum  EMMC_DRIVER_STRENGTH_TYPE {
  EmmcDriverStrengthType0 = 0 , EmmcDriverStrengthType1 , EmmcDriverStrengthType2 , EmmcDriverStrengthType3 ,
  EmmcDriverStrengthType4 , EmmcDriverStrengthIgnore = EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE
}
 
enum  SD_MMC_BUS_MODE {
  SdMmcSdDs , SdMmcSdHs , SdMmcUhsSdr12 , SdMmcUhsSdr25 ,
  SdMmcUhsSdr50 , SdMmcUhsDdr50 , SdMmcUhsSdr104 , SdMmcMmcLegacy ,
  SdMmcMmcHsSdr , SdMmcMmcHsDdr , SdMmcMmcHs200 , SdMmcMmcHs400
}
 
enum  EDKII_SD_MMC_PHASE_TYPE {
  EdkiiSdMmcResetPre , EdkiiSdMmcResetPost , EdkiiSdMmcInitHostPre , EdkiiSdMmcInitHostPost ,
  EdkiiSdMmcUhsSignaling , EdkiiSdMmcSwitchClockFreqPost , EdkiiSdMmcGetOperatingParam
}
 

Variables

EFI_GUID gEdkiiSdMmcOverrideProtocolGuid
 

Detailed Description

Protocol to describe overrides required to support non-standard SDHCI implementations

Copyright (c) 2017 - 2018, Linaro, Ltd. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file SdMmcOverride.h.

Macro Definition Documentation

◆ EDKII_SD_MMC_BUS_WIDTH_IGNORE

#define EDKII_SD_MMC_BUS_WIDTH_IGNORE   MAX_UINT8

Definition at line 23 of file SdMmcOverride.h.

◆ EDKII_SD_MMC_CLOCK_FREQ_IGNORE

#define EDKII_SD_MMC_CLOCK_FREQ_IGNORE   MAX_UINT32

Definition at line 24 of file SdMmcOverride.h.

◆ EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE

#define EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE   MAX_UINT8

Definition at line 25 of file SdMmcOverride.h.

◆ EDKII_SD_MMC_OVERRIDE_PROTOCOL_GUID

#define EDKII_SD_MMC_OVERRIDE_PROTOCOL_GUID    { 0xeaf9e3c1, 0xc9cd, 0x46db, { 0xa5, 0xe5, 0x5a, 0x12, 0x4c, 0x83, 0x23, 0x23 } }

Definition at line 16 of file SdMmcOverride.h.

◆ EDKII_SD_MMC_OVERRIDE_PROTOCOL_VERSION

#define EDKII_SD_MMC_OVERRIDE_PROTOCOL_VERSION   0x3

Definition at line 19 of file SdMmcOverride.h.

Typedef Documentation

◆ EDKII_SD_MMC_CAPABILITY

typedef EFI_STATUS(EFIAPI * EDKII_SD_MMC_CAPABILITY) (IN EFI_HANDLE ControllerHandle, IN UINT8 Slot, IN OUT VOID *SdMmcHcSlotCapability, IN OUT UINT32 *BaseClkFreq)

Override function for SDHCI capability bits

Parameters
[in]ControllerHandleThe EFI_HANDLE of the controller.
[in]SlotThe 0 based slot index.
[in,out]SdMmcHcSlotCapabilityThe SDHCI capability structure.
[in,out]BaseClkFreqThe base clock frequency value that optionally can be updated.
Return values
EFI_SUCCESSThe override function completed successfully.
EFI_NOT_FOUNDThe specified controller or slot does not exist.
EFI_INVALID_PARAMETERSdMmcHcSlotCapability is NULL

Definition at line 111 of file SdMmcOverride.h.

◆ EDKII_SD_MMC_NOTIFY_PHASE

typedef EFI_STATUS(EFIAPI * EDKII_SD_MMC_NOTIFY_PHASE) (IN EFI_HANDLE ControllerHandle, IN UINT8 Slot, IN EDKII_SD_MMC_PHASE_TYPE PhaseType, IN OUT VOID *PhaseData)

Override function for SDHCI controller operations

Parameters
[in]ControllerHandleThe EFI_HANDLE of the controller.
[in]SlotThe 0 based slot index.
[in]PhaseTypeThe type of operation and whether the hook is invoked right before (pre) or right after (post)
[in,out]PhaseDataThe pointer to a phase-specific data.
Return values
EFI_SUCCESSThe override function completed successfully.
EFI_NOT_FOUNDThe specified controller or slot does not exist.
EFI_INVALID_PARAMETERPhaseType is invalid

Definition at line 135 of file SdMmcOverride.h.

◆ EDKII_SD_MMC_OVERRIDE

Definition at line 21 of file SdMmcOverride.h.

Enumeration Type Documentation

◆ EDKII_SD_MMC_PHASE_TYPE

enum EDKII_SD_MMC_PHASE_TYPE

Definition at line 86 of file SdMmcOverride.h.

◆ EMMC_DRIVER_STRENGTH_TYPE

enum EMMC_DRIVER_STRENGTH_TYPE

Definition at line 35 of file SdMmcOverride.h.

◆ SD_DRIVER_STRENGTH_TYPE

enum SD_DRIVER_STRENGTH_TYPE

Definition at line 27 of file SdMmcOverride.h.

◆ SD_MMC_BUS_MODE

enum SD_MMC_BUS_MODE

Definition at line 71 of file SdMmcOverride.h.