Colibri iMX7 eMMC warning: HS400 strobe DLL status REF not lock

Should I be worried about such warning in the kernel log?

sdhci-esdhc-imx 30b60000.usdhc: warning! HS400 strobe DLL status REF not lock!

This is a log from esdhc_set_strobe_dll function: sdhci-esdhc-imx.c « host « mmc « drivers - linux-toradex.git - Linux kernel for Apalis and Colibri modules

What is the root cause of such log? Can this cause the data corruption or read errors?

This warning doesn’t show up repeatedly (this is the first time I have seen this), but I wanted to double-check to make sure if we should be concerned. We are using Colibri iMX7 eMMC 1GB on our custom board but we haven’t faced any issues with it so far.

Here is the full kernel log: dmesg.txt

We do have seen this message in our internal test and verification. In our tests we haven’t seen a complete failure due to this (e.g. not booting module), but it still seems not very assuring. We plan to run the module in HS200 mode, which affects the performance only very minimal (~5%) but seems not to show any of this error messages. I will update this post as soon as we have the changes ready.

Thanks. A performance drop of 5% in accessing eMMC is completely fine for us.

I’ve noticed the clock for eMMC is not exact as reported by kernel debug:

root@colibri-imx7-emmc:~# cat /sys/kernel/debug/mmc0/ios 
clock:          200000000 Hz
actual clock:   196363636 Hz
vdd:            21 (3.3 ~ 3.4 V)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     2 (on)
bus width:      3 (8 bits)
timing spec:    10 (mmc HS400)
signal voltage: 1 (1.80 V)
driver type:    0 (driver type B)

It could be probably fine(?) since the same case can be observed for the external SD memory card:

root@colibri-imx7-emmc:~# cat /sys/kernel/debug/mmc1/ios                                                                                                                
clock:          50000000 Hz
actual clock:   49090909 Hz
vdd:            21 (3.3 ~ 3.4 V)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     2 (on)
bus width:      2 (4 bits)
timing spec:    2 (sd high-speed)
signal voltage: 0 (3.30 V)
driver type:    0 (driver type B)

Yes, that’s just due to the available parent clock and divider choice.

Hi, Did you find any solution on this?

HI @chaitanya and Welcome to the Toradex Community!

Did you see the issue on one of our modules? If yes, could you ask a new Question providing all the details about the SoM (Hardware, Software, CarrierBoard, kernel.log)?

Best regards,

Hi @isaac

Thanks for your Input.

Considering this, can this question be marked as fixed/closed?

Just as a reference, this has been fixed in BSP Release 2.8b4 for Colibri iMX7. I believe this is the commit that fixed the issue.

Done. Thanks.