查看: 14827|回复: 22

[原创] EMMC 5.0 and EMMC 5.1 work on i.MX6

[复制链接]

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2016-8-30 15:53:40 | 显示全部楼层 |阅读模式
本帖最后由 小智MM 于 2016-8-31 10:00 编辑

EMMC5.0 and EMMC 5.1 work on i.MX6
在我们i.MX6Q/Dual Sabre Board的参考设计中eMMC IC 使用的是Sandisk SDIN5C2-8 (4.41),在i.MX6Reference manual datasheet我们知道compatible with the MMCSystem Specification version 4.2/4.3/4.4,而且在datasheet中有关于uSDHCmodule详细的细节描述,在手册中可以看到“fullycompliant with the MMC command/response sets and Physical Layer as defined inthe Multimedia Card System Specification, v4.2/4.3/4.4/4.41, includinghigh-capacity (> 2 GB) HC MMC cards.EMMC4.4/4.41在我们默认的BSP是支持,而且在我们新releasedBSP是有支持eMMC4.5的。
随着技术的发展,但是eMMC4.4有可能会停产,被Emmc4.5甚至是更高版本的EMMC5.0 EMMC5.1。更多的客户也会选择更高的版本替代。那 How to make the eMMC 4.5 , EMMC 5.0 and EMMC 5.1 work on i.MX6 ?
如果EMMC4.5 或者EMMC5.0 /5.1 能向下和eMMC4.4兼容的话,那么它可以工作在eMMC4.4模式下,这样eMMC4.5eMMC5.0 /5.1就可以在i.MX6上工作了。Booting from a eMMC 4.5 device or high version isnot supported,  boot ROM will fall back to the eMMC4.4  standard whena eMMC4.5 or high version capable device is detected. In BSP it is possible tobypass eMMC version checking, so that eMMC v4.5 or high version can work aseMMC v4.4 cards, no specific v4.5 feature supported. Only basic read/writeoperations are supported.

在源码中,我们可以看到:
In the source code we can change check value of card->ext_csd.rev.
Take the eMMC 4.5 work as example, the current i.MX6 Linux BSP(L3.0.35_4.1.0) has added code to interface with an eMMC4.5 card to operate asan eMMC4.4 card. Change the value of card->ext_csd.rev5 to 6, now eMMC 5.0 can work as an eMMC 4.4. The code drivers/mmc/core/mmc.c:
EMMC4.5.png

And for the EMMC 5.0 and EMMC5.1, modify the kernelto support eMMC 5.0 and 5.1 extended CSD revisions, as shown below:
/drivers/mmc/core/mmc.c :
if (card->ext_csd.rev > 6){              //The '6' has to be replaced with '7' For EMMC5.0
                                                          //  The '6' has to be replacedwith '8'  For EMMC5.1
               pr_err("%s: unrecognised EXT_CSD revision %d\n",
                       mmc_hostname(card->host), card->ext_csd.rev);
                err = -EINVAL;
                goto out;
         }

EMMC5.0.png
After modifying the code we need to rebuild the thefirmware uImage used for MfgTool . Update the uImage in Mfgtool , and it canflash successful.
Then the eMMC version 5.0 and 5.1 can be used with i.MX6 based boards.


回复

使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-8-30 16:15:53 | 显示全部楼层
    终于来了
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-11-8 09:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    117

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    272
    最后登录
    2017-5-22
    发表于 2016-8-30 20:34:59 | 显示全部楼层
    之前听说emmc 4.4 可能会停产,这篇文章来的好及时,赞一个。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    809

    帖子

    1

    超级版主

    Rank: 8Rank: 8

    积分
    1566
    最后登录
    2023-1-17
     楼主| 发表于 2016-8-31 10:03:50 | 显示全部楼层
    leavs 发表于 2016-8-30 20:34
    之前听说emmc 4.4 可能会停产,这篇文章来的好及时,赞一个。

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    809

    帖子

    1

    超级版主

    Rank: 8Rank: 8

    积分
    1566
    最后登录
    2023-1-17
     楼主| 发表于 2016-8-31 10:04:45 | 显示全部楼层
    leavs 发表于 2016-8-30 20:34
    之前听说emmc 4.4 可能会停产,这篇文章来的好及时,赞一个。

    现在有的客户已经开始使用emmc4.5或者emmc5.0版本的了,这里要稍微做一些改动。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2019-11-15 11:44
  • 签到天数: 117 天

    [LV.6]常住居民II

    4

    主题

    362

    帖子

    0

    高级会员

    Rank: 4

    积分
    758
    最后登录
    2019-11-15
    发表于 2016-9-9 15:02:51 | 显示全部楼层
    我来赚金币,先实现一个小目标。
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    809

    帖子

    1

    超级版主

    Rank: 8Rank: 8

    积分
    1566
    最后登录
    2023-1-17
     楼主| 发表于 2016-9-13 16:10:31 | 显示全部楼层
    风之狼 发表于 2016-9-9 15:02
    我来赚金币,先实现一个小目标。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-2-25 16:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    13

    主题

    51

    帖子

    0

    注册会员

    Rank: 2

    积分
    179
    最后登录
    2021-11-3
    发表于 2016-9-20 11:06:15 | 显示全部楼层
    小智MM 我修改了那个参数,把生成的uiamge放在了os 固件库下,但是烧写的时候出现错误
    Net:   got MAC address from IIM: 00:00:00:00:00:00
    FEC0 [PRIME]
    Hit any key to stop autoboot:  0
    ## Booting kernel from Legacy Image at 10800000 ...
       Image Name:   Linux-3.0.35
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    5124768 Bytes =  4.9 MB
       Load Address: 10008000
       Entry Point:  10008000
       Verifying Checksum ... Bad Data CRC
    ERROR: can't get kernel image!
    MX6SDL SABRESD-MFG U-Boot >

    找不到内核,我的是imx6双核 安卓系统 内核是3.0.35
    今天天气不错!签到!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    809

    帖子

    1

    超级版主

    Rank: 8Rank: 8

    积分
    1566
    最后登录
    2023-1-17
     楼主| 发表于 2016-9-22 14:52:00 | 显示全部楼层
    杨帆!起航! 发表于 2016-9-20 11:06
    小智MM 我修改了那个参数,把生成的uiamge放在了os 固件库下,但是烧写的时候出现错误
    Net:   got MAC addr ...

    你这里是u-boot启动后,command line的参数没有设置正确。这样,你在我们论坛中建个帖子,把问题和你使用的板子简单描述一下。你在这里发,有时候收不到通知,看不到问题。问题更新的话,也不方便查看~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    8
    最后登录
    2016-10-18
    发表于 2016-10-17 16:43:05 | 显示全部楼层
    LZ,我很懒。能不能推荐几款 eMMC 5.0  或者 5.1的?
    还是,eMMC 兼容的,都可以呼唤,海力士、东芝、闪迪都可以吗?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-8 11:12 , Processed in 0.160611 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表