This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于AM335X mmc 启动的疑问



AM335X TRM的26.7.1.5.2 对  板子的 MMC 启动做了如下说明:

Each interface has booting restrictions on which type of memory it supports:
 -• MMC0 supports booting from the MMC/SD card cage and also supports booting from eMMC/eSD/managed NAND memory devices with less than 4GB capacity.
  • MMC1 supports booting from eMMC/eSD/managed NAND memory device with 4GB capacity or greater.
The restriction is a result of many eMMC devices not being compliant with the eMMC v4.41 specification.
If you have the need to boot from two different card cages, many MMC/SD cards will boot from MMC1, but
for maximum compatibility only MMC0 should be used to boot from the card cage. Similarly for maximum
compatibility, booting from eMMC/eSD/managed NAND should only be performed on MMC1.
Note that the above restrictions only apply to booting from each port. Drivers can be written for either port
to support any desired interface.
Note:
• The ROM Code does not handle the card detection feature on card cage.
• If MMC1 is used the GPMC interface is not usable, due to pin muxing options.
• MMC1 supports sector mode without querying the card.
按照文档的说明,我的理解是: MMC0 不支持 boot from 等于或大于4G的 eMMC/eSD/managed NAND memory, 
是因为这些  eMMC/eSD/managed NAND memory 不兼容   eMMC v4.41 specification的缘故;那么如果我们使用的是支持
eMMC 4.41 规范的 eMMC芯片,是否就可以没有这个限制了? 
还有一个疑问是 文档上说的  MMC/SD card cage  和  eMMC/eSD/managed NAND memory  是两种不同类型的芯片?  
我的理解是 eMMC芯片=NAND falsh+控制器+MMC的标准封装接口 ,它对应于文档上说的哪一种?
望各位大侠不吝赐教。


  • 我对第一个的理解是mmc0支持boot分区最大4g,事个mmc/sd的容量可以大于4g,但boot分区不能大于4g,不知道这样理解对不对

  • 我觉得这样理解不太对。你可以看下这个链接里的 ;http://processors.wiki.ti.com/index.php/AM335x_Resource_Guide(English/%E4%B8%AD%E6%96%87)

    里边有

     [EMMC芯片启动注意事项] AM335x的MMC0和MMC1都可以支持EMMC芯片作为启动介质,如果是4G及以上容量的EMMC芯片,需要接到MMC1上,具体请参考TRM的26.7.1.5.2 

    这边明确说了是容量。 只是,我手头刚好有一块demo板 用了4G的eMMC 芯片(金士顿的KE44B-26BN/4GB)接到MMC0, 却能从 MMC0 启动成功了。

    我其实比较怀疑是 上面链接中的说法有误, 所以上论坛问下。如果 真的是这样,还希望TI 的 FAE 能尽快改过来,因为MMC1 跟 gpmc 管脚冲突得比较厉害,一旦

    使用了 MMC1 , 则 gpmc 就不能使用了。

  • 你好,

    你的理解是对的。如果采用了兼容V4.41规范的EMMC,是可以连接到MMC0口。建议你在硬件设计之前,和你的MMC供应商了解下所选的EMMC是否支持。

    另外,如果采用了大于4G的mmc,而且本身不支持4.41,可以连接到MMC1口。

  •  你好,

    补充一点,

    现在有部分EMMC厂商在大于4G的emmc中已经做到兼容V4.41的协议,所以这样的EMMC是可以通过MMC0口启动。

  • 您好,那我用64GB的EMMC,兼容V4.41的规范,接到MMC1口上是否有问题。请尽快回复下,多谢!

  • 使用EMMC1接口,没问题。