iMX6 and eMMC 4.5

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

iMX6 and eMMC 4.5

跳至解决方案
3,721 次查看
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

标签 (2)
1 解答
1,354 次查看
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 项奖励
回复
5 回复数
1,354 次查看
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

1,354 次查看
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 项奖励
回复
1,354 次查看
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 项奖励
回复
1,355 次查看
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 项奖励
回复
1,354 次查看
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 项奖励
回复