[U-Boot] SD/MMC timming issue when upgrading from 2010.09 to 2010.12 version

Aaron Wu aaronwu06 at gmail.com
Tue Aug 16 06:36:29 CEST 2011


Hello Sir,

I am using the u-boot on a blackfin board. When upgrading the u-boot
from version 2010.09 to 2010.12 I met a a problem which looks like
timming related. I'm doing the following test with a Sandisk 256MB SD
card.

mmc rescan 0
fatls mmc 0

with 2010.09 version everything works fine, with 2010.12 version I
will have to add a delay as the following patch indicates to pass the
test. Or it will fail when calling the mmc_startup function in the
mmc_send_cmd function when trying to do the sd_change_freq according
to my debug. It returns a -18 error which means a communication error,
to be specific, it's a hardware data crc error happened on my specific
SD controller.  While actually the driver code for my controller is
identical for both versions.

Since adding a delay would pass the test I guess it would be a timming
issue, could some one please shed some light?

Thanks
Aaron

--- drivers/mmc/mmc.c   2011-08-16 12:31:53.293745081 +0800
+++ drivers/mmc/mmc_new.c       2011-08-16 12:34:02.597745252 +0800
@@ -635,6 +635,7 @@
        cmd.flags = 0;

        err = mmc_send_cmd(mmc, &cmd, NULL);
+       delay(2000);

        if (err)
                return err;


More information about the U-Boot mailing list