sihaiweijia77 发表于 2013-07-19 18:11

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都没有效果,求高手指点。。。

sihaiweijia77 发表于 2013-07-20 21:44

这个问题有没有高手遇到过啊,求解。。。

dzq10131549 发表于 2013-08-04 16:58

请问,这个问题解决了吗?我之前调mmc驱动的时候也遇到过类似的问题,多半是卡本身的原因,驱动应该没有啥问题,你可以试着找找-84和0x90分别代表啥意思

Best Wishes!
页: [1]
查看完整版本: mmc 驱动:mmcblk0: error -84 transferring data, sector 0, nr 8, card status 0x90