From: Ryan Harkin <ryan.harkin@linaro.org>
To: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: edk2-devel-01 <edk2-devel@lists.01.org>,
Leif Lindholm <leif.lindholm@linaro.org>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: Re: [PATCH v3 00/10] enhance mmc
Date: Tue, 11 Oct 2016 17:22:34 +0100 [thread overview]
Message-ID: <CAD0U-hJT=HBNbsgiDye03FCoMUAtOaNQ58x=DJ67g61RZpJ5Bw@mail.gmail.com> (raw)
In-Reply-To: <1474470147-23156-1-git-send-email-haojian.zhuang@linaro.org>
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 <haojian.zhuang@linaro.org> 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
>
next prev parent reply other threads:[~2016-10-11 16:22 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-21 15:02 [PATCH v3 00/10] enhance mmc Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 01/10] MmcDxe: wait OCR busy bit free Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 02/10] MmcDxe: move ECSD into CardInfo structure Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 03/10] MmcDxe: add SPEC_VERS field in CSD structure Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 04/10] MmcDxe: add interface to change io width and speed Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 05/10] MmcDxe: declare ECSD structure Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 06/10] MmcDxe: set io bus width before reading EXTCSD Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 07/10] MmcDxe: Fix uninitialized mediaid for SD Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 08/10] MmcDxe: set iospeed and bus width in SD stack Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 09/10] MmcDxe: expand to support multiple blocks Haojian Zhuang
2016-09-21 15:02 ` [PATCH v3 10/10] PL180: update for indentifying SD Haojian Zhuang
2016-10-11 16:22 ` Ryan Harkin [this message]
2016-10-11 16:24 ` [PATCH v3 00/10] enhance mmc Ard Biesheuvel
2016-10-11 16:27 ` Ryan Harkin
2016-10-11 16:28 ` Ard Biesheuvel
2016-10-11 17:03 ` Ryan Harkin
2016-10-11 23:33 ` Haojian Zhuang
2016-10-12 5:32 ` Ryan Harkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAD0U-hJT=HBNbsgiDye03FCoMUAtOaNQ58x=DJ67g61RZpJ5Bw@mail.gmail.com' \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox