v4: * Fix PL180 hang in some cases. Since the proper variable length isn't set for CMD6 & ACMD51.
v3: * Fix PL180 hang because of CMD6 & ACMD51 not supported. v2: * Fix print error with missing parameter. * Change CMD51 to ACMD51. * Add the protection after CMD55 for SD. If there's no response of CMD55, skip to send ACMD51. v1: * Wait OCR busy bit free according to eMMC spec. * Define ECSD structure. * Add interface to set IO bus width and speed. * Support to access multiple blocks. Haojian Zhuang (11): MmcDxe: wait OCR busy bit free MmcDxe: move ECSD into CardInfo structure MmcDxe: add SPEC_VERS field in CSD structure MmcDxe: add interface to change io width and speed MmcDxe: declare ECSD structure MmcDxe: set io bus width before reading EXTCSD MmcDxe: Fix uninitialized mediaid for SD MmcDxe: set iospeed and bus width in SD stack MmcDxe: expand to support multiple blocks PL180: update for indentifying SD PL180: set variable length for CMD6 and ACMD51 ArmPlatformPkg/Drivers/PL180MciDxe/PL180Mci.c | 29 +- EmbeddedPkg/Include/Protocol/MmcHost.h | 29 ++ EmbeddedPkg/Universal/MmcDxe/Mmc.h | 176 ++++++++++- EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c | 175 +++++++---- EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c | 354 +++++++++++++++++++++-- 5 files changed, 669 insertions(+), 94 deletions(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel