AnsweredAssumed Answered

EMMC v5.0 cannot work on Android 4.4.3

Question asked by victor Wang on May 30, 2018
Latest reply on May 31, 2018 by Joan Xie

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

Outcomes