uboot doesn't working the same way in serial downloader and emmc boot mode

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

uboot doesn't working the same way in serial downloader and emmc boot mode

Jump to solution
2,052 Views
ambroisealgrin
Contributor II

Hi,

I'm working on an iMX6 solo X (ref.: MCIMX6X1CVO08AB), we have an eMMC on SD4.

The problem is :

when downloading uboot with serial downloader, it starts normally and i'm able to flash the eMMC throught ethernet. Then i can boot linux (which is in eMMC) and everything is okay.

But when i change boot mode to start directly from eMMC, uboot is starting, but he can't find the MMC device, so he can't load the kernel. All the "mmc" command return nothing.

The two uboot use are the same, version U-Boot 2015.04-00136-g9c60985 (Dec 10 2015 - 16:31:08)

At uboot stats up, i have this logs :

when booting from ram, the eMMC debugs info are :

CMD_SEND:0

        ARG             0x00000000

        MMC_RSP_NONE

CMD_SEND:8

        ARG             0x000001AA

        MMC_RSP_R1,5,6,7      0xBF55D0E8 

CMD_SEND:55

        ARG             0x00000000

        MMC_RSP_R1,5,6,7      0xBF55D0E8 

CMD_SEND:0

        ARG             0x00000000

        MMC_RSP_NONE

CMD_SEND:1

        ARG             0x00000000

        MMC_RSP_R3,4         0x00FF8080 

CMD_SEND:1

        ARG             0x40300000

        MMC_RSP_R3,4         0xC0FF8080 

CMD_SEND:1

        ARG             0x40300000

        MMC_RSP_R3,4         0xBF565A68

when booting from eMMC, the eMMC debugs info are :

CMD_SEND:0

        ARG             0x00000000

        MMC_RSP_NONE

CMD_SEND:8

        ARG             0x000001AA

        MMC_RSP_R1,5,6,7      0xBF563B28 

CMD_SEND:55

        ARG             0x00000000

        MMC_RSP_R1,5,6,7      0xBF563B28 

CMD_SEND:0

        ARG             0x00000000

        MMC_RSP_NONE

CMD_SEND:1

        ARG             0x00000000

        MMC_RSP_R3,4         0x00FF8080 

CMD_SEND:1

        ARG             0x40300000

        MMC_RSP_R3,4         0xC0FF8080 

CMD_SEND:1

        ARG             0x40300000

        MMC_RSP_R3,4         0x09531A52 

CMD_SEND:0

        ARG             0x00000000

        MMC_RSP_NONE

CMD_SEND:8

        ARG             0x000001AA

        MMC_RSP_R1,5,6,7      0xBFF716CC 

CMD_SEND:55

        ARG             0x00000000

        MMC_RSP_R1,5,6,7      0xBFF716CC 

CMD_SEND:0

        ARG             0x00000000

        MMC_RSP_NONE

CMD_SEND:1

        ARG             0x00000000

        MMC_RSP_R3,4         0x00FF8080 

CMD_SEND:1

        ARG             0x40300000

        MMC_RSP_R3,4         0xC0FF8080 

CMD_SEND:1

        ARG             0x40300000

        MMC_RSP_R3,4         0x56B21884 

** Bad device mmc 0 **

WARN: Cannot load the Kernel

Apparently, the eMMC hasn't the same answer in both case, and i don't figure out why. Any idea ?

Thanks,

Labels (3)
0 Kudos
1 Solution
1,117 Views
ambroisealgrin
Contributor II

Hi igorpadykov,

The version of uboot used was from denx, we switch to the official freescale version and it's now working well.

The problem were in the init of the eMMC in uboot, it was something like uboot try to speak to eMMC in 1bit mode when eMMC was configured in 8bits mode. We don't investigate more.

Thanks for your answer

View solution in original post

0 Kudos
4 Replies
1,117 Views
karstenschautie
Contributor I

Hello

Thank for your help.

I found the problem. I update the 2015.01 u-boot with following patches and it is running now:

2015-05-05 Andrew Gabbasovmmc: Continue polling MMC card for OCR only if it is...

blob | commitdiff | diff to current

2015-05-05 Andrew Gabbasovmmc: Do not pass external mmc_cmd structure to mmc_send...

blob | commitdiff | diff to current

2015-05-05Andrew Gabbasovmmc: Avoid extra duplicate entry in mmc device structure

blob | commitdiff | diff to current

http://git.denx.de/?p=u-boot.git;a=history;f=drivers/mmc/mmc.c;h=d3c22abfd5a8c198499308cb4b8e24f161f...

Bye

0 Kudos
1,117 Views
igorpadykov
NXP Employee
NXP Employee

Hi ambroisealgrin

seems eMMC should be referenced as root=/dev/mmcblk3p2, following attached Linux

Guide sect.4.4.1.2 Using eMMC4.4 on SDHC4.

For eMMC programming one can use MFG Tools mfgtool2-yocto-mx-sabresd-emmc.vbs

script:

Programmers (Flash, etc.) (3)

IMX_L3.14.38-6UL_MFG_TOOL (REV L3.14.38_6ul)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

Best regards

igor

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

Note: If this post answers your question, please click the Correct Answer button. Thank you!

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

0 Kudos
1,118 Views
ambroisealgrin
Contributor II

Hi igorpadykov,

The version of uboot used was from denx, we switch to the official freescale version and it's now working well.

The problem were in the init of the eMMC in uboot, it was something like uboot try to speak to eMMC in 1bit mode when eMMC was configured in 8bits mode. We don't investigate more.

Thanks for your answer

0 Kudos
1,117 Views
sinanakman
Senior Contributor III

Hi

Here is a patch for mainline u-boot frompengfan​ .

He didn't have the board to test the patch but he

seems to think it would work.

He wrote :

"Please try whether the attached patch can fix you issue or not. I do not have such a board to test."

Give it a try if you prefer.

Hope this helps.

Regards

Sinan Akman

0 Kudos