diff options
-rw-r--r-- | EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c | 4 | ||||
-rw-r--r-- | EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf | 1 | ||||
-rw-r--r-- | EmbeddedPkg/EmbeddedPkg.dec | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c b/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c index fe23d113ee..bb26b69fd1 100644 --- a/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c +++ b/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.c @@ -560,6 +560,10 @@ DwEmmcSetIos ( EFI_STATUS Status = EFI_SUCCESS;
UINT32 Data;
+ if ((PcdGet32 (PcdDwEmmcDxeMaxClockFreqInHz) != 0) &&
+ (BusClockFreq > PcdGet32 (PcdDwEmmcDxeMaxClockFreqInHz))) {
+ return EFI_UNSUPPORTED;
+ }
if (TimingMode != EMMCBACKWARD) {
Data = MmioRead32 (DWEMMC_UHSREG);
switch (TimingMode) {
diff --git a/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf b/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf index e3c8313bc5..99b4f990f6 100644 --- a/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf +++ b/EmbeddedPkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf @@ -48,6 +48,7 @@ [Pcd]
gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeBaseAddress
gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeClockFrequencyInHz
+ gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeMaxClockFreqInHz
[Depex]
TRUE
diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec index 0d4a0625a3..3cb30a49cf 100644 --- a/EmbeddedPkg/EmbeddedPkg.dec +++ b/EmbeddedPkg/EmbeddedPkg.dec @@ -167,6 +167,7 @@ # DwEmmc Driver PCDs
gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeBaseAddress|0x0|UINT32|0x00000035
gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeClockFrequencyInHz|0x0|UINT32|0x00000036
+ gEmbeddedTokenSpaceGuid.PcdDwEmmcDxeMaxClockFreqInHz|0x0|UINT32|0x00000037
#
# Android FastBoot
|