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

Michael Trimarchi michael at amarulasolutions.com
Fri Apr 3 16:26:24 CEST 2015


Hi

On Fri, Apr 3, 2015 at 9:50 PM, Marco Cavallini
<cavallini.koan at gmail.com> wrote:
> 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?
>>

Increase the divisor of the clock

MXC_CCM_CSCDR1_USDHC[X]_PODF_MASK
MXC_CCM_CSCDR1_USDHC[X]_PODF_OFFSET

I'm not sure because I have not a board and no time before Easter
to open documentation ;)

Michael


>> 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
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list