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

Reply via email to