I get the following warning on debian linux (kernel 4.18.8) bootup of my microchip sama5d3 board:

mmc0: unrecognised SCR structure version 4
mmc0: error -22 whilst initialising SD card

after spewing this about 30 times I get the following and the linux boot completes

mmc0: host does not support reading read-only switch, assuming write-enable
mmc0: new SDHC card at address 0007
mmcblk0: mmc0:0007 SD4GB 3.71 GiB 

I have tried several different SD cards and get the same result, with the only variation being the version number.

I found the following online https://groups.google.com/forum/#!topic/beagleboard/A4zfNvyMmVI:

SCR is a register defined by MMC/SD standard, and the data should be read by the data bus, instead of the cmd bus as most predefined registers do. The omap_hsmmc_request function of the TI HSMMC driver tries to read in the SCR data by DMA, and this always returns garbage. Sometimes the SCR check gets passed, because the garbage data happens to be a valid SCR data

The linux kernel just checks to see if the SCR version is not 0, if so it produces the error.

My dts file for mmc0 is as follows:

    mmc0: mmc@f0000000 {
        pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3>;
        status = "okay";
        slot@0 {
            reg = <0>;
            bus-width = <8>;

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.