Hello all : I work on a custom iMX6 board (Dual/Quad) and I use U-Boot 2015.04 :
recently we have changed the emmc with a SanDisk SDINBDG4-16G type
(interface 5.1 HS400) My problem is that UBOOT is correctly started but it refuse
to recognize the emmc and fails to boot OS (SD4).
I use an external microSD card to boot an OS and I can access also to the eMMC,
format it and load a new UBOOT.
The UBOOT emmc command sequence seems to be correct, but always fails on CMD2
(CMD_ALL_SEND_CID) with a CRC FAILURE, so it is not able to read any data.
This is the emmc UBOOT sequence:
CMD_SEND:0 ARG= 0x00000000 MMC_RSP_NONE OK (RESET)
CMD_SEND:8 ARG= 0x000001AA MMC_RSP_R1,5,6,7= ??? TIMEOUT
CMD_SEND:55 ARG= 0x00000000 MMC_RSP_R1,5,6,7= ??? TIMEOUT
CMD_SEND:0 ARG= 0x00000000 MMC_RSP_NONE OK (reset)
CMD_SEND:1 ARG= 0x00000000 MMC_RSP_R3,4 = 0x007F8000 OK (op cond)
CMD_SEND:1 ARG= 0x40300000 MMC_RSP_R3,4 = 0x007F8000 OK
CMD_SEND:1 ARG= 0x40300000 MMC_RSP_R3,4 = 0x007F8000 OK
CMD_SEND:1 ARG= 0x40300000 MMC_RSP_R3,4 = 0x007F8000 OK
CMD_SEND:1 ARG= 0x40300000 MMC_RSP_R3,4 = 0x007F8000 OK
CMD_SEND:1 ARG= 0x40300000 MMC_RSP_R3,4 = 0xC07F8000 OK (READY)
CMD_SEND:2 ARG= 0x00000000 MMC_RSP_R2 = ??? CRC FAILURE: IRQSTAT=20001
Clock is set to 400Khz, and bus width is set to 1bit
Using a ISSI emmc model with a 5.0 interface works fine.
It seems a bug into UBOOT :
Do you have an idea of where could be the problem ?
Best regards
Mario
Hello,
Can follow the below steps to build U-boot for eMMC(refer Linux user guide).
Erase the eMMC and burn again with just uboot to see if the problem is uboot.
Regards
Hello, Thank for the answer, and Yes, the problem is in UBOOT: also with a scratch
device the problem is the same: CRC FAULT when execute CMD2 (CID) to identify
the device.
I've checked the pin MUXING , added delay but nothing has worked...
(BTW I do not use Yocto to build the UBOOT, but that can't be the problem)
Any other idea?
Maybe the emmc will requires some other settings ?
Thanks again
Mario