EMMC v5.0 cannot work on Android 4.4.3

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

EMMC v5.0 cannot work on Android 4.4.3

571 Views
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
Labels (6)
Tags (1)
0 Kudos
1 Reply

419 Views
joanxie
NXP TechSupport
NXP TechSupport

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

0 Kudos