[U-Boot] [PATCH] Revert "mmc: retry the cmd8 to meet 74 clocks requirement in the spec"
Lei Wen
adrian.wenl at gmail.com
Tue Nov 15 10:41:13 CET 2011
On Tue, Nov 15, 2011 at 5:35 PM, Macpaul Lin <macpaul at andestech.com> wrote:
> This reverts commit 02f3029f1810b99869254d0cf0a71946a008a728.
>
> This patch add 3 times retry to CMD8 because the Marvell mmc controller
> doesn't obey the power ramp up process in the SD specification 6.4.1.
> (Please refer to figure 6.1 and 6.2 in the specification.)
>
> The CMD0 should be send after power ramp up has been finished.
> However, the Marvell mmc contorller must do power ramp up after the
> first CMD0 command has been send.
>
> This patch also affect existing platforms like Nokia N900 and other
> platforms.
>
> Signed-off-by: Macpaul Lin <macpaul at andestech.com>
> ---
> drivers/mmc/mmc.c | 16 ++--------------
> 1 files changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index 37ce6e8..21665ec 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -1190,7 +1190,7 @@ block_dev_desc_t *mmc_get_dev(int dev)
>
> int mmc_init(struct mmc *mmc)
> {
> - int err, retry = 3;
> + int err;
>
> if (mmc->has_init)
> return 0;
> @@ -1213,19 +1213,7 @@ int mmc_init(struct mmc *mmc)
> mmc->part_num = 0;
>
> /* Test for SD version 2 */
> - /*
> - * retry here for 3 times, as for some controller it has dynamic
> - * clock gating, and only toggle out clk when the first cmd0 send
> - * out, while some card strictly obey the 74 clocks rule, the interval
> - * may not be sufficient between the cmd0 and this cmd8, retry to
> - * fulfil the clock requirement
> - */
> - do {
> - err = mmc_send_if_cond(mmc);
> - } while (--retry > 0 && err);
> -
> - if (err)
> - return err;
> + err = mmc_send_if_cond(mmc);
>
> /* Now try to get the SD card's operating condition */
> err = sd_send_op_cond(mmc);
> --
> 1.7.3.5
>
>
Acked-by: Lei Wen <leiwen at marvell.com>
More information about the U-Boot
mailing list