We modify kernel as below for eMMC v5.1 (KLM8G1GEME-B041(eMMC5.1 1ynm based e·MMC)1.0). It can be update with MfgTools (20160330-mcimx6qsdp-emmc-v5.1-mfgtools-02.txt), but error when mount as rootfs (20160330-mcimx6qsdp-emmc-v5.1-debug-03.txt). What else should be modified for this issue?
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 42d74d7..7005bc7 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -294,7 +294,7 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_c
}
card->ext_csd.rev = ext_csd[EXT_CSD_REV];
- if (card->ext_csd.rev > 7) {
+ if (card->ext_csd.rev > 8) {
pr_err("%s: unrecognised EXT_CSD revision %d\n",
mmc_hostname(card->host), card->ext_csd.rev);
err = -EINVAL;
Original Attachment has been moved to: 20160330-mcimx6qsdp-emmc-v5.1-mfgtools-02.txt.zip
Original Attachment has been moved to: 20160330-mcimx6qsdp-emmc-v5.1-debug-03.txt.zip
已解决! 转到解答。
Hi m.c.
issue may be caused by signal integrity issues, please look at solutions on
eMMC 8GB to 4GB - crash on linux (yocto) boot
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi m.c.
issue may be caused by signal integrity issues, please look at solutions on
eMMC 8GB to 4GB - crash on linux (yocto) boot
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Fix and thanks.
Error message
mmcblk2: error -110 sending stop command, original cmd response 0x900, card status 0x400900
mmcblk2: error -84 transferring data, sector 30012, nr 8, cmd response 0x900, card status 0x0
mmcblk2: retrying using single block read
mmcblk2: error -110 sending stop command, original cmd response 0x900, card status 0x400900
mmcblk2: error -84 transferring data, sector 30116, nr 136, cmd response 0x900, card status 0x0
mmcblk2: retrying using single block read
mmcblk2: error -84 transferring data, sector 30208, nr 44, cmd response 0x900, card status 0x0
end_request: I/O error, dev mmcblk2, sector 30208
Patch
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-
index 9cf7652..c089ef5 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -741,16 +741,16 @@
pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
- MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
- MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
- MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
- MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
- MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
- MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
- MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
- MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
- MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
- MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x1F051
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10051
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x1F051
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x1F051
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x1F051
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x1F051
+ MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x1F051
+ MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x1F051
+ MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x1F051
+ MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x1F051
>;
};
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 42d74d7..7005bc7 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -294,7 +294,7 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_c
}
card->ext_csd.rev = ext_csd[EXT_CSD_REV];
- if (card->ext_csd.rev > 7) {
+ if (card->ext_csd.rev > 8) {
pr_err("%s: unrecognised EXT_CSD revision %d\n",
mmc_hostname(card->host), card->ext_csd.rev);
err = -EINVAL;