eMMC v5.1 as linux rootfs error with i.MX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

eMMC v5.1 as linux rootfs error with i.MX6

Jump to solution
4,511 Views
m_c
Senior Contributor I


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

Labels (2)
Tags (2)
0 Kudos
1 Solution
1,295 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
1,296 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,295 Views
m_c
Senior Contributor I

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;

0 Kudos