在datasheet和e2e论坛里面都有看到说OMAP-L138 V2.0版本的芯片可以支持SD2.0,也就是说可以支持>2G的卡,文档看了半天也没看明白!
如果支持的SDHC的话,请问寄存器设置和SD1.1有何不同?
我在自己的板子上试过小于2G的卡存取都是正常的,插上超过2G的看读写不正常。
有谁可以教我?
amy tom:
楼主你好,我最近也在做omap138的sd卡驱动,有些问题想问你?能否留个qq我们方便联系啊,急急急,谢谢了!
amy tom:
回复 novar luo:
我的qq是2539844816,急急急!
shen javen:
回复 amy tom:
我现在也碰到这个问题,2G以下的卡都OK的,2G以上的卡读写就会出现IOerror错误。大侠,能不能给指点指点,谢谢
mmcblk0: error -84 transferring data, sector 69120, nr 128, card status 0x900end_request: I/O error, dev mmcblk0, sector 69204Buffer I/O error on device mmcblk0, logical block 8650lost page write due to I/O error on mmcblk0end_request: I/O error, dev mmcblk0, sector 69208Buffer I/O error on device mmcblk0, logical block 8651lost page write due to I/O error on mmcblk0end_request: I/O error, dev mmcblk0, sector 69216Buffer I/O error on device mmcblk0, logical block 8652lost page write due to I/O error on mmcblk0end_request: I/O error, dev mmcblk0, sector 69224Buffer I/O error on device mmcblk0, logical block 8653lost page write due to I/O error on mmcblk0end_request: I/O error, dev mmcblk0, sector 69232Buffer I/O error on device mmcblk0, logical block 8654lost page write due to I/O error on mmcblk0end_request: I/O error, dev mmcblk0, sector 69240Buffer I/O error on device mmcblk0, logical block 8655lost page write due to I/O error on mmcblk0
heng xu:
回复 shen javen:
freescale提供的解决方法见https://community.freescale.com/thread/277327我的imx53的板子上是将linux-2.6.35.3\arch\arm\mach-mx5\mx53_loco.c中
.max_clk = 50000000,改成.max_clk = 40000000,即:
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, //.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, .min_clk = 400000, //.max_clk = 50000000, .max_clk = 40000000, .card_inserted_state = 1, .status = sdhc_get_card_det_status, .wp_status = 0, /*don't have pin, disable protect*///sdhc_write_protect, .clock_mmc = "esdhc_clk",};