Error fsl_esdhc: Internal clock never stabilised.

Hello!
U-Boot prints error "fsl_esdhc: Internal clock never stabilised." on P2020 everytime when trying to access SD card. It happens with every tested SD card. Note that both read and write operation with SD card is working fine, U-Boot just prints that noisy error.
For example:
SD boot... No max bus width provided. Assume 8-bit supported. Second program loader running in sram... fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised.
Or:
=> mmc info fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. Device: FSL_SDHC Manufacturer ID: 3 OEM: 5344 Name: SA16G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.8 GiB Bus Width: 1-bit Erase Group Size: 512 Bytes
I tried to bisect this error and I figured out that U-Boot prints this error since beginning when this error message was added into fsl_esdhc driver.
Do you have any idea what is wrong? And how to fix it?

Hi Pali
On 2022-04-29 1:35 p.m., Pali Rohár wrote:
Hello!
U-Boot prints error "fsl_esdhc: Internal clock never stabilised." on P2020 everytime when trying to access SD card. It happens with every tested SD card. Note that both read and write operation with SD card is working fine, U-Boot just prints that noisy error.
For example:
SD boot... No max bus width provided. Assume 8-bit supported. Second program loader running in sram... fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised.
Or:
=> mmc info fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. Device: FSL_SDHC Manufacturer ID: 3 OEM: 5344 Name: SA16G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.8 GiB Bus Width: 1-bit Erase Group Size: 512 Bytes
I tried to bisect this error and I figured out that U-Boot prints this error since beginning when this error message was added into fsl_esdhc driver.
Do you have any idea what is wrong? And how to fix it?
AFAIR this is related to the issue that some of the the register fields did not exist in p2020 and the patch was added for T series. Please take a look at the reference manuals and verify that the register that the code checks did not exist in P2020. In this case I believe you can simple exclude this check with #ifdef P2020 or something to this effect.
Thanks Sinan Akman

On Friday 29 April 2022 13:50:31 Sinan Akman wrote:
Hi Pali
On 2022-04-29 1:35 p.m., Pali Rohár wrote:
Hello!
U-Boot prints error "fsl_esdhc: Internal clock never stabilised." on P2020 everytime when trying to access SD card. It happens with every tested SD card. Note that both read and write operation with SD card is working fine, U-Boot just prints that noisy error.
For example:
SD boot... No max bus width provided. Assume 8-bit supported. Second program loader running in sram... fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised.
Or:
=> mmc info fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. fsl_esdhc: Internal clock never stabilised. Device: FSL_SDHC Manufacturer ID: 3 OEM: 5344 Name: SA16G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.8 GiB Bus Width: 1-bit Erase Group Size: 512 Bytes
I tried to bisect this error and I figured out that U-Boot prints this error since beginning when this error message was added into fsl_esdhc driver.
Do you have any idea what is wrong? And how to fix it?
AFAIR this is related to the issue that some of the the register fields did not exist in p2020 and the patch was added for T series. Please take a look at the reference manuals and verify that the register that the code checks did not exist in P2020. In this case I believe you can simple exclude this check with #ifdef P2020 or something to this effect.
Thanks Sinan Akman
Thank you very much! I will send a patch shortly.
participants (2)
-
Pali Rohár
-
Sinan Akman