[U-Boot] Loading kernel from SD card slow on MinnowBoard Turbot since v2016.09

Simon Glass sjg at chromium.org
Sun Apr 9 19:28:49 UTC 2017


Hi,

On 8 November 2016 at 05:10, Raschen Josef <Josef.Raschen at esolutions.de> wrote:
> Hi,
>
>> From my tests it should be somewhere between these two commits:
>> 1c62d999528da1f052cb4b07cbb540b148c52537    OK
>> ceec08f50b66df0c988033842ec057a32658cfe0    NOK
>
> I did some more tests and it looks like commit 14bed52d276afd36b9674ee7aa2c2ad9d2f4e59e introduced the issue. From the code I would guess that the max clock of the mmc controller is not set up correctly for the x86/BayTrail platform (minnowmax_defconfig in my case).
>
> Thanks,
> Josef
>

I made some time to dig into this recently.

>From what I can this is a bug in the old code. Since pci_mmc.c does
not read the version number into host->version, add_sdhci() used to
just use a value of 0. Now it reads the correct version number.

old code:
MMC:   sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0,
cfg->host_caps=7, f_min=140625, f_max=36000000
sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7,
f_min=140625, f_max=36000000
ValleyView SDHCI: 0, ValleyView SDHCI: 1


new code:
sdhci_setup_cfg: version = b502
sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7,
f_min=48875, f_max=100000000
add_sdhci: version = 0
sdhci_setup_cfg: version = b502
sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7,
f_min=48875, f_max=100000000
add_sdhci: version = 0
sdhci_setup_cfg: version = 1002
sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7,
f_min=97751, f_max=200000000


So the clock speed is showing as faster with the new code (the MMC
card is the second one above. I suspect the old card was programming
the registers incorrectly and happening to get a higher speed.

That said, I do see twice the performance with the old code. I wonder
if there is a way to detect that the card or host can run faster?

Regards,
Simon


More information about the U-Boot mailing list