audk/MdeModulePkg/Include/Protocol
Marcin Wojtas 7f3b0bad4b MdeModulePkg/SdMmcPciHcDxe: Allow overriding base clock frequency
Some SdMmc host controllers are run by clocks with different
frequency than it is reflected in Capabilities Register 1.
It is allowed by SDHCI specification ver. 4.2 - if BaseClkFreq
field value of the Capability Register 1 is zero, the clock
frequency must be obtained via another method.

Because the bitfield is only 8 bits wide, a maximum value
that could be obtained from hardware is 255MHz.
In case the actual frequency exceeds 255MHz, the 8-bit BaseClkFreq
member of SD_MMC_HC_SLOT_CAP structure occurs to be not sufficient
to be used for setting the clock speed in SdMmcHcClockSupply
function.

This patch adds new UINT32 array ('BaseClkFreq[]') to
SD_MMC_HC_PRIVATE_DATA structure for specifying
the input clock speed for each slot of the host controller.
All routines that are used for clock configuration are
updated accordingly.

This patch also adds new IN OUT BaseClockFreq field
in the Capability callback of the SdMmcOverride,
protocol which allows to update BaseClkFreq value.

The patch reuses original commit from edk2-platforms:
20f6f144d3a8 ("Marvell/Drivers: XenonDxe: Allow overriding base clock
frequency")

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
2018-11-20 13:46:57 +08:00
..
AtaAtapiPolicy.h MdeModulePkg: Add AtaAtapiPolicy protocol definition 2018-06-08 17:46:45 +08:00
BootLogo.h
BootLogo2.h MdeModulePkg: Fix coding style issues in file/function comments 2018-03-19 09:57:22 +08:00
DebuggerConfiguration.h MdeModulePkg/EbcDxe: add EBC Debugger configuration application 2016-11-29 12:48:33 +08:00
DisplayProtocol.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
Dpc.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
EbcSimpleDebugger.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
EbcVmTest.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
EsrtManagement.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
FaultTolerantWrite.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
FileExplorer.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
FirmwareManagementProgress.h MdeModulePkg: Add DisplayUpdateProgressLib class 2018-05-28 09:30:10 -07:00
FormBrowserEx.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
FormBrowserEx2.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
GenericMemoryTest.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
IoMmu.h MdeModulePkg: Correct function description for AllocateBuffer 2017-12-12 09:31:54 +08:00
IpmiProtocol.h MdeModulePkg: Add IpmiLib and Ppi/Protocol header file. 2015-12-23 08:16:20 +00:00
LoadPe32Image.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
LockBox.h
NonDiscoverableDevice.h MdeModulePkg: introduce non-discoverable device protocol 2016-12-07 09:01:27 +00:00
PlatformLogo.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
PlatformSpecificResetFilter.h MdeModulePkg/ResetSystemRuntimeDxe: Add platform filter and handler 2018-02-09 15:29:56 +08:00
PlatformSpecificResetHandler.h MdeModulePkg/ResetSystemRuntimeDxe: Add platform filter and handler 2018-02-09 15:29:56 +08:00
Print2.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
Ps2Policy.h MdeModulePkg: Add Ps2KeyboardDxe driver. 2016-04-08 17:45:54 +08:00
SdMmcOverride.h MdeModulePkg/SdMmcPciHcDxe: Allow overriding base clock frequency 2018-11-20 13:46:57 +08:00
SmmExitBootServices.h MdeModulePkg: Move SmmExitBootServices.h/SmmLegacyBoot.h/SmmReadyToBoot.h 2015-06-18 10:30:38 +00:00
SmmFaultTolerantWrite.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmFirmwareVolumeBlock.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmLegacyBoot.h MdeModulePkg SmmLegacyBoot.h: Add a "," after copyright year 2015-08-25 06:29:33 +00:00
SmmMemoryAttribute.h MdeModulePkg SmmMemoryAttribute.h: Refine some comments 2018-04-04 10:43:33 +08:00
SmmReadyToBoot.h MdeModulePkg: Move SmmExitBootServices.h/SmmLegacyBoot.h/SmmReadyToBoot.h 2015-06-18 10:30:38 +00:00
SmmSwapAddressRange.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SmmVarCheck.h MdeModulePkg Variable: Implement VarCheck PROTOCOL 2015-01-05 03:38:36 +00:00
SmmVariable.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
SwapAddressRange.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
UfsHostController.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
VarCheck.h MdeModulePkg: Add AuthVariableLib LibraryClass 2015-07-01 03:04:18 +00:00
VariableLock.h MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00