移植2022版U-Boot——SD卡驱动,解决sdhci_send_command: Timeout for status update的问题

为Exynos4412移植2022版U-Boot——SD卡驱动,解决sdhci_send_command: Timeout for status update

问题描述

u-boot已经成功移植SD卡和NandFlash驱动。启动u-boot之后(没有加载Linux),执行u-boot命令fstype mmc 0:1,显示

sdhci_send_command: Timeout for status update!
mmc fail to send stop cmd
 ** fs_devread read error - block
Failed to mount ext2 filesystem...

解决方法

修改~/u-boot-2022.01-rc4/drivers/mmc/sdhci.c
261行:屏蔽mask |= SDHCI_INT_DATA_END; 防止数据读写超时
重新编译即可。

255     if (!(cmd->resp_type & MMC_RSP_PRESENT))
256         flags = SDHCI_CMD_RESP_NONE;
257     else if (cmd->resp_type & MMC_RSP_136)
258         flags = SDHCI_CMD_RESP_LONG;
259     else if (cmd->resp_type & MMC_RSP_BUSY) {
260         flags = SDHCI_CMD_RESP_SHORT_BUSY;
261         //mask |= SDHCI_INT_DATA_END;
262     } else
263         flags = SDHCI_CMD_RESP_SHORT;

版权声明:本文为weixin_42408707原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。