EMMC v5.0 cannot work on Android 4.4.3

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

EMMC v5.0 cannot work on Android 4.4.3

1,112 次查看
wangvictor
Contributor III

Hi All,

I have a plan to use Kingston as my eMMC IC v5.0.

As I know that Android 4.4.3 can only support it up to 4.5.

After some googling, I realize I need to modify some code in uboot and kernel driver.

There are what I had done.

  1. bootable/bootloader/uboot-imx/drivers/mmc/mmc.c

    switch (ext_csd[EXT_CSD_REV]) {
    case 1:
    mmc->version = MMC_VERSION_4_1;
    break;
    case 2:
    mmc->version = MMC_VERSION_4_2;
    break;
    case 3:
    mmc->version = MMC_VERSION_4_3;
    break;
    case 5:
    mmc->version = MMC_VERSION_4_41;
    break;
    case 6:
    mmc->version = MMC_VERSION_4_5;
    break;
    +  case 7:
    +  mmc->version = MMC_VERSION_5_0;
    +  break;
    }

  2. bootable/bootloader/uboot-imx/include/mmc.h

    #define MMC_VERSION_5_0         (MMC_VERSION_MMC | 0x500)

  3. kernel_imx/drivers/mmc/core/mmc.c

    card->ext_csd.rev = ext_csd[EXT_CSD_REV];
    if (card->ext_csd.rev > 8) {//6
    pr_err("%s: unrecognised EXT_CSD revision %d\n",
    mmc_hostname(card->host), card->ext_csd.rev);
    err = -EINVAL;
    goto out;
    }

    After I rebuild my image for new modification, I burn it in to my board and boot it.
    Unfortunately, it still cannot starting kernel as usual.


    What else should I do ?
    Did I miss any step?

    Thanks in Advanced
标签 (6)
标记 (1)
0 项奖励
回复
1 回复

960 次查看
joanxie
NXP TechSupport
NXP TechSupport

try to change check value of card->ext_csd.rev, change 6 to 7.

0 项奖励
回复