From: Raffaele Recalcati Date: Wed, 23 Mar 2011 04:06:50 +0000 (+0000) Subject: MMC may wrongly regconize 2GB eMMC as high capacity X-Git-Tag: v2011.06-rc1~147^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8511cd84ab2749c8edf41d123f365a1d2353528e;p=u-boot MMC may wrongly regconize 2GB eMMC as high capacity Hi Terry, > So I guess: > mmc_init calls mmc_send_op_cond  that set  high_capacity, > than it calls mmc_startup, that, with MMC_CMD_SEND_CSD  command, set > the capacity, using values in CSD register. > So I guess that mmc_change_freq should not recalculate high_capacity. > > It seems better, isn't it? > > Regards, > Raffaele > Finally I think that it is enough to apply the following patch in order to fix the issue. Regards, Raffaele Signed-off-by: Andy Fleming --- diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 36f80fa09f..f27b7c79e5 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -553,9 +553,6 @@ int mmc_change_freq(struct mmc *mmc) if (err) return err; - if (ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215]) - mmc->high_capacity = 1; - cardtype = ext_csd[196] & 0xf; err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1);