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,
Solved! Go to Solution.
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
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
Bye
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)
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
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
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