From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x22c.google.com (mail-lf0-x22c.google.com [IPv6:2a00:1450:4010:c07::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D8BC61A1E91 for ; Tue, 11 Oct 2016 09:22:37 -0700 (PDT) Received: by mail-lf0-x22c.google.com with SMTP id x79so50268581lff.0 for ; Tue, 11 Oct 2016 09:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VAkyQ/nOGTZb1DmZoiUF0c/1dtgWdFee49wCR+yzk3Q=; b=Esa7CRD56efp856/uu/s6HlJvjnkkBkQXcPm24KbPauKnhjVi5dNIOEg3QXpCgIccp SIpnAUNJHBfrtyeyf7psGldEe4PpZnxVz78/I9jSFZq7g2ASaPv5dKx+pnfA8CNXG3Nw CAexuKnjIg33d/pbJn2f7iBzwvFdXwUnkYEzA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VAkyQ/nOGTZb1DmZoiUF0c/1dtgWdFee49wCR+yzk3Q=; b=F3D6Kp9XlxJVKIbGtgz/iVki7UJ4LXml/FrZNbOrts6PHP2QgzoFGoTnODYfcjTdfQ PnFEJ6VqRiF3guD70q17H4bNEDeYFoekNuqvMCROPqqzGLFMH1og9hev+d19RJFS2Wk7 PJ7Q/TTUKZKgz1NPlNveeF215qSjFmYscUB2Gmm53FRdL1ykr4+rKE3AIFsd0ijX7UMD M3tFOmS5a4RnxmDjgmL3M1cnX2TsLMwaVAaeVIejKsfSGBPqhk5MHsQECJ3TuWjLS94U JIsg21pVF2UUbFS9mymwxZjwLkb4LSRnW7pS++lb5HyA3OLQVSXVrUnZXiYq1zeNMKDb m/QQ== X-Gm-Message-State: AA6/9RmDA3IX+71vA4Y92d2OT1NqJzWgtad2kz0GLssk8FNmgzIrKDb14b7hyNQBCpMQRn+hPEOl2XcilNepSFAX X-Received: by 10.25.166.145 with SMTP id p139mr3768328lfe.132.1476202955616; Tue, 11 Oct 2016 09:22:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.190.83 with HTTP; Tue, 11 Oct 2016 09:22:34 -0700 (PDT) In-Reply-To: <1474470147-23156-1-git-send-email-haojian.zhuang@linaro.org> References: <1474470147-23156-1-git-send-email-haojian.zhuang@linaro.org> From: Ryan Harkin Date: Tue, 11 Oct 2016 17:22:34 +0100 Message-ID: To: Haojian Zhuang Cc: edk2-devel-01 , Leif Lindholm , Ard Biesheuvel Subject: Re: [PATCH v3 00/10] enhance mmc X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Oct 2016 16:22:38 -0000 Content-Type: text/plain; charset=UTF-8 Hi Haojian, So I've tested this v3 patchset and while it's much improved, I still get hangs on TC2. The good news, MMC identification and driver initialisation succeeds in this version and the board boots a bit further. Unfortunately, with a RELEASE build, the board hangs at a later point: when the BDS starts, I think. But only with RELEASE builds; DEBUG is OK. I can repeatedly add/revert your patchset and the board will either hang/boot each time. I based my work on pure upstream EDK2 and added your patches: da936c2 2016-09-21 PL180: update for indentifying SD [Haojian Zhuang] 242542a 2016-09-21 MmcDxe: expand to support multiple blocks [Haojian Zhuang] 73636cc 2016-09-21 MmcDxe: set iospeed and bus width in SD stack [Haojian Zhuang] 7f54eea 2016-09-21 MmcDxe: Fix uninitialized mediaid for SD [Haojian Zhuang] ef46f04 2016-09-21 MmcDxe: set io bus width before reading EXTCSD [Haojian Zhuang] e21926e 2016-09-21 MmcDxe: declare ECSD structure [Haojian Zhuang] f0e0fd9 2016-09-21 MmcDxe: add interface to change io width and speed [Haojian Zhuang] 09ef3f1 2016-09-21 MmcDxe: add SPEC_VERS field in CSD structure [Haojian Zhuang] 4677114 2016-09-21 MmcDxe: move ECSD into CardInfo structure [Haojian Zhuang] 7e1d256 2016-09-21 MmcDxe: wait OCR busy bit free [Haojian Zhuang] b3b58d4 2016-09-28 PcAtChipsetPkg AcpiTimerLib: Clear bits [31:24] after reading by IoRead32() [Star Zeng] And OpenPlatformPkg was taken from my repo, which only carries one patch essential for TC2 booting: c22a665 2016-01-29 HACK: Platforms/ARM: TC2: set gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride TRUE [Ryan Harkin] ad932f0 2016-08-25 Platforms/ARM/Juno: Add support for ACPI 6.0 LPI(Low Power Idle) states [Sudeep Holla] I've pushed both to my repos with the tag "mmc-v3-001" https://git.linaro.org/landing-teams/working/arm/edk2.git/shortlog/refs/tags/mmc-v3-001 https://git.linaro.org/landing-teams/working/arm/OpenPlatformPkg.git/shortlog/refs/tags/mmc-v3-001 If I use pure upstream tianocore at commit b3b58d4 along with my OpenPlatformPkg at the "mmc-v3-001" tag, then the board doesn't hang on boot in a RELEASE build. Cheers, Ryan. On 21 September 2016 at 16:02, Haojian Zhuang wrote: > 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 (10): > 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 > > ArmPlatformPkg/Drivers/PL180MciDxe/PL180Mci.c | 15 +- > EmbeddedPkg/Include/Protocol/MmcHost.h | 29 ++ > EmbeddedPkg/Universal/MmcDxe/Mmc.h | 176 +++++++++++- > EmbeddedPkg/Universal/MmcDxe/MmcBlockIo.c | 175 ++++++++---- > EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c | 350 +++++++++++++++++++++-- > 5 files changed, 659 insertions(+), 86 deletions(-) > > -- > 2.7.4 >