Hello!
Is it possible to boot IMX6Q from Micron 64G eMMC 4.41 card (MTFC64GJDDN-4M IT)?
Boot process stops every time after reading Product name from CID Register (as a response on CMD2). A few microseconds after the eMMC card sends "MMC64G" string, CMD and CLK lines go LOW (as you can see in the picture below, 1 - CLK, 3 - CMD).
Are there any restrictions on size of the card? If no, what else can cause the problem?
Solved! Go to Solution.
I had a similar problem with IMX6SL which was caused by errata ERR007927.
IMX6Q has a similar errata ERR007926.
You can check whether the errata causes your problem by intentionally stretching a Lo period of "POR_B" signal.
(maybe 1sec. is enough)
I hope this will help you.
I had a similar problem with IMX6SL which was caused by errata ERR007927.
IMX6Q has a similar errata ERR007926.
You can check whether the errata causes your problem by intentionally stretching a Lo period of "POR_B" signal.
(maybe 1sec. is enough)
I hope this will help you.
Thank you for your help! We had a problem with the 32 kHZ internal oscillator, so it was indeed ERR007926. Our emmc card works fine now.
Hi jotes
there are no known restrictions on size.
Reason may be ERR006282 or issues with signal
integrity (drive strength) as described for example on
https://community.freescale.com/thread/332110
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Is it possible that BootROM reads Product name, compares it with some not known for us value and based on the comparison result decides to stop booting process?
Is there any way to get BootROM source code?
Our board revision is 1.3 so that is not ERR006282.
>Is it possible that BootROM reads Product name, compares it with some not known for us
>value and based on the comparison result decides to stop booting process?
No.
>Is there any way to get BootROM source code?
Unfortunatly BootROM source code is not distrubuted, sorry.
Best regards
igor
I forgot to mention, that our card works perfectly normal when we are accessing it from u-boot or Linux, it has problems only while booting.
you can change IOMUX settings used by BootROM using
Table 8-14. USDHC Boot eFUSE Descriptions
BOOT_CFG2[0] - 1 - Use PAD_SETTINGS values
check PAD_SETTINGS in Table 8-2. Boot eFUSE Descriptions
i.MX6DQ Reference Manual
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf
had you tried other emmc cards, how they are working?
We have checked that our eMMC card works fine in u-boot with default IOMUX settings (IOMUXC_SW_PAD_CTL_PAD_SD4_CMD - 0x1B0B0, IOMUXC_SW_PAD_CTL_PAD_SD4_CMD - 0x1B0B0). It can even respond properly on CMD2. So I guess we can assume, that it should works with default IOMUX settings in boot process. Am I right?
In addition, in the picture which I've attached earlier you can see, that the CLK line suddenly goes LOW. Since it is INPUT for eMMC card, I guess only IMX6 can hold it LOW. But why?
I have no possibility to check other emmc cards, I am referring only to SDIN5C2-8G which is used on SABRE SD and works fine. I can compare signals on CMD line and can say that there are 2 difference:
1) on Sabre SD there are less CMD1 commands, so the Initialization process takes less time
2) on Sabre SD CMD2 ends properly
Are there any restricions on one command duration time? Maybe it is some timeout while sending CMD2 (it ends always after ~404us).
Are there any restricions on the duration of booting process?
Our card's connection is practically the same as the one in SABRE SD (10k pull-up on CMD line). We stuck in BootROM so we can't change IOMUX settings (as it is described in post 332110).
What else should we check?