eMMC boot problem

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

eMMC boot problem

Jump to solution
2,934 Views
jotes
Contributor IV

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).

cmd2.JPG

flow.JPG

Are there any restrictions on size of the card? If no, what else can cause the problem?

Labels (1)
Tags (2)
0 Kudos
1 Solution
1,536 Views
tomohirokawachi
Contributor II

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.

View solution in original post

0 Kudos
10 Replies
1,537 Views
tomohirokawachi
Contributor II

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.

0 Kudos
1,536 Views
jotes
Contributor IV

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.

0 Kudos
1,536 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,536 Views
jotes
Contributor IV

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.

0 Kudos
1,536 Views
igorpadykov
NXP Employee
NXP Employee

>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

0 Kudos
1,536 Views
jotes
Contributor IV

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.

0 Kudos
1,536 Views
igorpadykov
NXP Employee
NXP Employee

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?

0 Kudos
1,536 Views
jotes
Contributor IV

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?

0 Kudos
1,536 Views
jotes
Contributor IV

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?

0 Kudos
1,536 Views
jotes
Contributor IV

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?

0 Kudos