]> git.sur5r.net Git - u-boot/commitdiff
MMC may wrongly regconize 2GB eMMC as high capacity
authorRaffaele Recalcati <lamiaposta71@gmail.com>
Wed, 23 Mar 2011 04:06:50 +0000 (04:06 +0000)
committerAndy Fleming <afleming@freescale.com>
Wed, 13 Apr 2011 12:09:04 +0000 (07:09 -0500)
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 <afleming@freescale.com>
drivers/mmc/mmc.c

index 36f80fa09f1c6d5b2778505eb999034b8172076f..f27b7c79e50e310fc047fbcbf6e4bd19bb03698c 100644 (file)
@@ -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);