iMX6 and eMMC 4.5

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

iMX6 and eMMC 4.5

Jump to solution
3,327 Views
emil
Contributor III

Hello,

In the iMX6 reference manual it is stated that the ROM boot code only supports eMMC 4.4. Is eMMC 4.5 fully supported after booting Linux 3.0.35 on iMX6? I'm especially interested in the High Priority Interrupt that is in the 4.41 standard. Is this supported if I use 3.0.35 on iMX6?

Best Regards,

Emil

Labels (2)
1 Solution
960 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,emil,

      Let me summarize the above :

      For using eMMC card with eMMC4.4.1 and 4.5, If you use R13.4.1 BSP, they will have to modify source code in ~/myandroid/kernel_imx/drivers/mmc/core/mmc.c like the following:

Change:

if (card->ext_csd.rev > 5) {

  printk(KERN_ERR "%s: unrecognised EXT_CSD revision %d\n",

   mmc_hostname(card->host), card->ext_csd.rev);

  err = -EINVAL;

  goto out;

}

TO:

if (card->ext_csd.rev > 6) {

  printk(KERN_ERR "%s: unrecognised EXT_CSD revision %d\n",

   mmc_hostname(card->host), card->ext_csd.rev);

  err = -EINVAL;

  goto out;

}

  But if you use linux L3.0.35 BSP, No modification need to be done.

Regards,

Weidong

View solution in original post

0 Kudos
5 Replies
960 Views
emil
Contributor III

Hello,

From your explaination it seems like your have a fix for using 4.5 cards in 4.4 mode. This means that 3.0.35 does not support any 4.5 or 4.41 features like High Priority Interrupt? Is that correct?

BR,

Emil

960 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,emil,

     If you use R13.4.1 android4.0 BSP, you should do modification in mmc.c file :

change if(card->ext_csd.rev > 5) to if(card->ext_csd.rev > 6).

    If you use linux bsp (L3.0.35) , Don't need to do any modifications.

    Actually, this modificaiton is to make a eMMC card with mmc4.5 work at eMMC4.4 mode. So your card with mmc4.5 can be used in linux system and android system.

Regards,

Weidong

0 Kudos
960 Views
emil
Contributor III

Ok. Just to make it crystal clear for me: So there is no way to be able to use MMC 4.5 features on 3.0.35? No support for HPI then?

(i use Linux 3.0.35 and not Android btw)

BR,

Emil

0 Kudos
961 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,emil,

      Let me summarize the above :

      For using eMMC card with eMMC4.4.1 and 4.5, If you use R13.4.1 BSP, they will have to modify source code in ~/myandroid/kernel_imx/drivers/mmc/core/mmc.c like the following:

Change:

if (card->ext_csd.rev > 5) {

  printk(KERN_ERR "%s: unrecognised EXT_CSD revision %d\n",

   mmc_hostname(card->host), card->ext_csd.rev);

  err = -EINVAL;

  goto out;

}

TO:

if (card->ext_csd.rev > 6) {

  printk(KERN_ERR "%s: unrecognised EXT_CSD revision %d\n",

   mmc_hostname(card->host), card->ext_csd.rev);

  err = -EINVAL;

  goto out;

}

  But if you use linux L3.0.35 BSP, No modification need to be done.

Regards,

Weidong

0 Kudos
960 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,emil,

     In mmc core drivers of L3.0.35, eMMC card or iNAND FLASH with eMMC 4.4.1 and eMMC4.5 can be supported, you can see it from linux/driver/mmc/core/mmc.c file :

  /*workaround: support emmc 4.5 cards to work at emmc 4.4 mode */

  if(card->ext_csd.rev > 6) {

     printk(KERN_ERR"%s: unrecognised EXT_CSD revision %d\n",  mmc_hostname(card->host),card->ext_csd.rev);

     err= -EINVAL;

     goto out;

     }

Regards,

Weidong

0 Kudos