[U-Boot] How to reduce SDcard speed in u-boot

Marco Cavallini cavallini.koan at gmail.com
Fri Apr 3 15:50:57 CEST 2015


2015-03-30 17:32 GMT+02:00 Marco Cavallini <cavallini.koan at gmail.com>:
> Hello,
> I am probably working on a 'buggy hardware' based on i.MX6 that isn't
> able to manage a SDcard speed properly.
> I mean, u-boot starts, but as soon as I try to perform a fatload if
> the uImage the command won't work properly.
> I had the possibility to test the SoM on another carrier with a
> different layout and a different microSD connector and it works at
> every boot.
> The quick and dirty hack I found is to modify sd_switch() in
> drivers/mmc/mmc.c in this way
>
> /*
>  * Reduce SD/MMC speed
>  * u-boot> mmc info
>  * before : Tran Speed: 50000000
>  * after   : Tran Speed: 25000000
>  */
>         printf("*** Skip support SD_HIGHSPEED in sd_change_freq\n") ;
>         return 0;
>
> just before
>
>     /* If high-speed isn't supported, we return */
>     if (!(__be32_to_cpu(switch_status[3]) & SD_HIGHSPEED_SUPPORTED))
>         return 0;
>
> the problem is that on 80% of the carrier boards the problem is still present.
> My questions are:
> 1. is this hack the best solution in this case or can you suggest me
> another better way to proceed?
> 2. would be possible to reduce the speed more than this and how?
>
> thank you in advance
> --
> Marco


Hello,
sorry for bothering you.
Any advice from the u-boot experts would give me a great help.
Thank you


More information about the U-Boot mailing list