Linux SD 卡启动时出现 mmc0 警告

Linux SD 卡启动时出现 mmc0 警告

我在 debian linux(内核 4.18.8)启动我的 microchip sama5d3 板时收到以下警告:

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

喷出大约 30 次后,我得到以下信息,Linux 启动完成

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 

我尝试了几种不同的 SD 卡并得到相同的结果,唯一的变化是版本号。

我在网上找到了以下内容https://groups.google.com/forum/#!topic/beagleboard/A4zfNvyMmVI:

SCR是MMC/SD标准定义的寄存器,数据应该通过数据总线读取,而不是像大多数预定义寄存器那样通过cmd总线读取。 TI HSMMC 驱动程序的 omap_hsmmc_request 函数尝试通过 DMA 读入 SCR 数据,这总是返回垃圾。有时SCR检查会通过,因为垃圾数据恰好是有效的SCR数据

Linux 内核只是检查 SCR 版本是否不为 0,如果是,则会产生错误。

我的mmc0的dts文件如下:

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

答案1

更新到内核 4.20 不再出现该错误。我无法准确确定哪个内核提交修复了它。有一些可能发挥了作用,但我无法确定是否完全合适。

相关内容