On 2017/6/8 16:12, Jun Nie wrote:
Only DDR mode is support for 8bit mode currently. Add
non-DDR case when configuring ECSD.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jun Nie <jun....@linaro.org>
---
EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
index 574a77e..5c0d7e7 100644
--- a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
+++ b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
@@ -286,7 +286,10 @@ InitializeEmmcDevice (
}
Status = Host->SetIos (Host, BusClockFreq, 8, TimingMode[Idx]);
if (!EFI_ERROR (Status)) {
- Status = EmmcSetEXTCSD (MmcHostInstance, EXTCSD_BUS_WIDTH,
EMMC_BUS_WIDTH_DDR_8BIT);
+ if (Idx < 2)
It's better to avoid hardcoded value at here. Maybe you can use switch &
case on TimingMode array at here.
+ Status = EmmcSetEXTCSD (MmcHostInstance, EXTCSD_BUS_WIDTH,
EMMC_BUS_WIDTH_DDR_8BIT);
+ else
+ Status = EmmcSetEXTCSD (MmcHostInstance, EXTCSD_BUS_WIDTH,
EMMC_BUS_WIDTH_8BIT);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_ERROR, "InitializeEmmcDevice(): Failed to set EXTCSD bus
width, Status:%r\n", Status));
}
Best Regards
Haojian
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel