mmc 驱动:mmcblk0: error -84 transferring data, sector 0, nr 8, card status 0x90
今天调试emmc驱动,遇到这样的问题,串口信息:
Freeing init memory: 212K
mmc0: new high speed MMC card at address 0001
mmcblk0: mmc0:0001 MMC04G 3.60 GiB
mmcblk0:
mmcblk0: retrying using single block read
mmcblk0: error -84 transferring data, sector 0, nr 8, card status 0x900
end_request: I/O error, dev mmcblk0, sector 0
mmcblk0: error -84 transferring data, sector 1, nr 7, card status 0x900
end_request: I/O error, dev mmcblk0, sector 1
mmcblk0: error -84 transferring data, sector 2, nr 6, card status 0x900
end_request: I/O error, dev mmcblk0, sector 2
mmcblk0: error -84 transferring data, sector 3, nr 5, card status 0x900
end_request: I/O error, dev mmcblk0, sector 3
mmcblk0: error -84 transferring data, sector 4, nr 4, card status 0x900
end_request: I/O error, dev mmcblk0, sector 4
mmcblk0: error -84 transferring data, sector 5, nr 3, card status 0x900
end_request: I/O error, dev mmcblk0, sector 5
mmcblk0: error -84 transferring data, sector 6, nr 2, card status 0x900
end_request: I/O error, dev mmcblk0, sector 6
mmcblk0: error -84 transferring data, sector 7, nr 1, card status 0x900
end_request: I/O error, dev mmcblk0, sector 7
Buffer I/O error on device mmcblk0, logical block 0
我表示亚历山大啊,这个问题是什么原因呢,我的cpu是mx53,在u-boot下面我调试过emmc,4bit和8bit都是可以传输数据的,这个kernel下面的驱动出这个问题真无语,我的配置如下:
static struct mxc_mmc_platform_data mmc3_data = {
.ocr_mask = MMC_VDD_27_28 | MMC_VDD_28_29 | MMC_VDD_29_30
| MMC_VDD_31_32,
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA | MMC_CAP_DATA_DDR,
.min_clk = 400000,
.max_clk = 50000000,
.card_inserted_state = 1,
.clock_mmc = "esdhc_clk",
};
试着改成4bit或8bit,把max_clk 调成1M都没有效果,求高手指点。。。
这个问题有没有高手遇到过啊,求解。。。 请问,这个问题解决了吗?我之前调mmc驱动的时候也遇到过类似的问题,多半是卡本身的原因,驱动应该没有啥问题,你可以试着找找-84和0x90分别代表啥意思
Best Wishes!
页:
[1]