hi, all
i encountered a problem about SD card.
when i insert a SD card, the following error log in console.
-----------------------------------------------------------------------------------
mmc1: new high speed SDHC card at address e624
mmcblk1: mmc1:e624 SU08G 7.40 GiB
root@freescale ~$
root@freescale ~$ mmcblk1: error -110 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
mmcblk1: retrying using single block read
mmcblk1: error -110 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
end_request: I/O error, dev mmcblk1, sector 0
mmcblk1: error -110 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0
end_request: I/O error, dev mmcblk1, sector 1
------------------------------------------------------------------------------------
my iomux setting is here:
//USDHC2
MX6DL_PAD_SD2_CLK__USDHC2_CLK,
MX6DL_PAD_SD2_CMD__USDHC2_CMD,
MX6DL_PAD_SD2_DAT0__USDHC2_DAT0,
MX6DL_PAD_SD2_DAT1__USDHC2_DAT1,
MX6DL_PAD_SD2_DAT2__USDHC2_DAT2,
MX6DL_PAD_SD2_DAT3__USDHC2_DAT3,
//SD2_CD
MX6DL_PAD_GPIO_4__GPIO_1_4,
//SD2_WP
MX6DL_PAD_GPIO_2__GPIO_1_2,
------------------------------------------------------------------
sd2_data is here:
#define AUTO_SD2_CD IMX_GPIO_NR(1, 4)
#define AUTO_SD2_WP IMX_GPIO_NR(1, 2)
static const struct esdhc_platform_data mx6q_sd2_data __initconst = {
.cd_gpio = AUTO_SD2_CD,
.wp_gpio = AUTO_SD2_WP,
.keep_power_at_suspend = 1,
.support_8bit = 0,
.delay_line = 0,
.cd_type = ESDHC_CD_CONTROLLER,
.runtime_pm = 1,
};
已解决! 转到解答。
Hi fang,
simply put, your card outputs data
so fast, that OS just can not able to receive them.
Suggest to try more slower grade cards or
test old SD2.0 2GB SD card just for test.
Best regards
chip
hi,have you ever solved the problem? I have the same trouble,
can any help me?
Freeing unused kernel memory: 388K (809d7000 - 80a38000)
mmc3: Timeout waiting for hardware interrupt.
mmcblk3: error -110 transferring data, sector 7996552, nr 32, cmd response 0x900, card status 0xb00
mmcblk3: retrying using single block read
mmc3: Timeout waiting for hardware interrupt.
mmcblk3: error -110 transferring data, sector 12194864, nr 216, cmd response 0x900, card status 0xb00
mmcblk3: retrying using single block read
Hi all,
I've the same problem using a custom board with iMX6Solo.
The same HW works fine with kernel 3.0.35 but after switching to 3.10.17 I'm facing this issue.
* on 3.0.35 I have:
#define SD1_CD IMX_GPIO_NR(1, 1)
#define SD1_WP IMX_GPIO_NR(1, 9)
static const struct esdhc_platform_data mx6q_sd1_data __initconst = {
.cd_gpio = SD1_CD,
.wp_gpio = SD1_WP,
.keep_power_at_suspend = 1,
.support_8bit = 1,
.delay_line = 0,
.platform_pad_change = plt_sd3_pad_change,
//.cd_type = ESDHC_CD_CONTROLLER,
};
On 3.10.17 I should apply the same settings through the dts file.
Do you know how should I set cd-gpios and wp-gpios?
&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1_1>;
fsl,delay-line;
fsl,cd-controller;
cd-gpios = <&gpio1 1 1>;
/* cd-inverted;*/
wp-gpios = <&gpio1 9 1>;
/* max-frequency = <50000000>;*/
keep-power-in-suspend;
// enable-sdio-wakeup;
// cap-sd-highspeed;
// no-1-8-v;
status = "okay";
};
Thanks in advance.
Hello Igor,
in my case, the problem was strictly related to an external SD card.
BTW, it was not a SW problem - in fact, I found that with some SD card devices the issue was not reproducible.
Regards,
Angelo
Hi Igor,
I'm also facing the same kind of problem on my eMMC.
Platform detail: i.Mx6 SabreSD based custom board
Kernel: L3.0.35
Issue is, mmcblk2: error -110 sending stop command, original cmd response 0x900, card status 0x400e00
It's stopped after the issue (console also not alive)
What may be the issue ?
At the same time,
Where will get that latest firmware ? and How to update that (procedure or document)?
Thanks in Advance
Regards,
J.P.Raja
Hi fang,
suggest to test SD2 hardware with bare metal SD read/write test
"MX6_PLATFORM_SDK "
You can run it with jtag.
Best regards
chip
Hi fang,
please look below thread with similar SD errors,
seems changing card solved problem
Best regards
chip
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi fang,
simply put, your card outputs data
so fast, that OS just can not able to receive them.
Suggest to try more slower grade cards or
test old SD2.0 2GB SD card just for test.
Best regards
chip