EFI_STATUS Status;\r
BOOLEAN IsDdr;\r
\r
- if ((BusMode->BusTiming != SdMmcMmcHsSdr && BusMode->BusTiming != SdMmcMmcHsDdr) ||\r
+ if ((BusMode->BusTiming != SdMmcMmcHsSdr && BusMode->BusTiming != SdMmcMmcHsDdr && BusMode->BusTiming != SdMmcMmcLegacy) ||\r
BusMode->ClockFreq > 52) {\r
return EFI_INVALID_PARAMETER;\r
}\r
} else if (BusMode.BusTiming == SdMmcMmcHs200) {\r
Status = EmmcSwitchToHS200 (PciIo, PassThru, Slot, Rca, &BusMode);\r
} else {\r
+ //\r
+ // Note that EmmcSwitchToHighSpeed is also called for SdMmcMmcLegacy\r
+ // bus timing. This is because even though we might not want to\r
+ // change the timing itself we still want to allow customization of\r
+ // bus parameters such as clock frequency and bus width.\r
+ //\r
Status = EmmcSwitchToHighSpeed (PciIo, PassThru, Slot, Rca, &BusMode);\r
}\r
\r