[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c5fc72e6-a6b6-8351-97b1-f2b1771395c3@gtsys.com.hk>
Date: Tue, 8 Dec 2020 11:23:37 +0800
From: Chris Ruehl <chris.ruehl@...ys.com.hk>
To: Avri Altman <Avri.Altman@....com>
Cc: Jack <jack.lo@...ys.com.hk>, Ulf Hansson <ulf.hansson@...aro.org>,
Wolfram Sang <wsa+renesas@...g-engineering.com>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
Baolin Wang <baolin.wang@...aro.org>,
Krishna Konda <kkonda@...eaurora.org>,
linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] mmc: core: make hs400 independent from hs200 init
On 3/12/2020 5:33 pm, Chris Ruehl wrote:
> Move mmc_select_hs400() out from hs200 init path and make hs400
> independent.
>
> The patch makes quite some changes and needs to be reviewed carefully.
>
> In function mmc_select_timing() call for mmc_select_hs400().
> HS400 requires a host bus with of 8bit, if not supported we
> return with -ENOTSUPP, there is no retry.
> If the host controller can't switch to 8bit (dts: bus-width = <4>)
> it can't recover on next power-up init failed.
> Have the controller set to HS mode, make the hs400 tuning prepare
> if any and run mmc tuning before switching to HS400.
>
> This patch resolve the problem if hs400-1_8v is set but extended
> strobe is not.
>
> &sdhci { // eMMC
> bus-width = <8>;
> mmc-hs400-1_8v;
> // mmc-hs400-enhanced-strobe;
> non-removable;
> status = "okay";
> };
>
> [ 1.775721] mmc1: CQHCI version 5.10
> [ 1.802342] mmc1: SDHCI controller on fe330000.sdhci [fe330000.sdhci] using ADMA
> [ 2.007581] mmc1: mmc_select_hs200 failed, error -110
> [ 2.007589] mmc1: error -110 whilst initialising MMC card
> [ 2.413559] mmc1: mmc_select_hs200 failed, error -110
> [ 2.413562] mmc1: error -110 whilst initialising MMC card
> [ 3.183343] mmc1: Command Queue Engine enabled
> [ 3.183355] mmc1: new HS400 MMC card at address 0001
> [ 3.197163] mmcblk1: mmc1:0001 DG4008 7.28 GiB
> [ 3.197256] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
> [ 3.197360] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
> [ 3.197360] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
> [ 3.197479] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB, chardev (242:0)
>
> [ 1.743386] mmc1: CQHCI version 5.10
> [ 1.769952] mmc1: SDHCI controller on fe330000.sdhci [fe330000.sdhci] using ADMA
> [ 1.846223] mmc1: Command Queue Engine enabled
> [ 1.846230] mmc1: new HS400 MMC card at address 0001
> [ 1.846557] mmcblk1: mmc1:0001 DG4008 7.28 GiB
> [ 1.846650] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
> [ 1.846742] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
> [ 1.846825] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB, chardev (242:0)
>
> Tested with rk3399 customized board.
>
Find that patch missed something
- } else if (!mmc_card_hs400es(card)) {
+ } else if (!mmc_card_hs400es(card) && !mmc_card_hs400(card)) {
will update my patches and resend v2
Chris
Powered by blists - more mailing lists