调整执行期间的 MMC 错误

MMC errors during tuning execution

我正在 Linux 开发 MMC 驱动程序。我的系统现在可以通过 eMMC 和 sdcard 稳定启动。但是在启动过程中,我在控制台上看到了一些错误。

[ 0.889357] mmc0: tuning execution failed: -5
[ 0.903700] mmc0: error -5 whilst initialising SD card

有一些调试日志,

[ 0.976730] [DEBUG] mmc_sd_init_card
[ 1.143724] [DEBUG] mmc_execute_tuning
[ 1.219758] [DEBUG] tmio_mmc_execute_tuning: Tuning procedure failed = -5
[ 1.253255] [DEBUG] mmc_sd_init_uhs_card: err=-5

错误似乎来自 sd 卡初始化 (UHS)。

尽管出现错误,但系统完成启动后,我仍然可以使用 sdcard 和 eMMC。

我对错误有点模棱两可"tuning execution"。谁能解释一下并提出修复建议?谢谢!

更多详细信息,我在SD卡规范中搜索过

https://www.sdcard.org/downloads/pls/index.html

并想出一些补丁可以解决我的问题。

https://patchwork.kernel.org/patch/9963437/

https://patchwork.kernel.org/patch/9998159/

我的看板有:

  + sdhi0: used for sdcard 4-bit bus width 
  + sdhi2: used for on-board 8bit eMMC
  + sd-uhs-sdr50: SD UHS SDR50 speed is supported
  + sd-uhs-sdr104: SD UHS SDR104 speed is supported
  + mmc-hs200-1_8v: eMMC HS200 mode(1.8V I/O) is supported
  + mmc-hs400-1_8v: eMMC HS400 mode(1.8V I/O) is supported