Hi Haojian,
I've tested your v4 series.
On 8 November 2016 at 15:21, Haojian Zhuang 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