Hi Haojian, I've tested your v4 series.
On 8 November 2016 at 15:21, Haojian Zhuang <haojian.zhu...@linaro.org> wrote: > 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 After this patch is applied, TC2 no longer boots. I can see this patch add support for MMC_ACMD51 > MmcDxe: expand to support multiple blocks > PL180: update for indentifying SD > PL180: set variable length for CMD6 and ACMD51 I can see this patch is fixing the data size for ACMD51. And it is only when this patch is applied that it starts to boot again. So I think they still need to be stacked or squashed differently so they are bisect-able, sorry. > > 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