[U-Boot] mmc erase fails from U-Boot command line

Hector Palacios
2015-10-19T11:06:45Z

Dear Cliff,

On 10/16/2015 01:46 PM, Cliff Brust wrote:
> I have the need to erase our eMMC from U-Boot on our custom board due to a hard wired
> boot up configuration. Our design is based on the Freescale i.MX6Q SabreSD Board
> reference design. The bottom line is the U-Boot command "mmc erase" is failing with
> the error "Timeout waiting for DAT0 to go high!". Here's a list of the U-Boot
> commands issued and the result of each so you can see what is going on.
> ----------------------------------------
> => mmc list
> FSL_SDHC: 0
> FSL_SDHC: 1 (SD)
> FSL_SDHC: 2 (eMMC)
>
> => mmc dev 2
> switch to partitions #0, OK
> mmc2(part 0) is current device
>
> => mmc info
> Device: FSL_SDHC
> Manufacturer ID: 45
> OEM: 100
> Name: SEM08
> Tran Speed: 52000000
> Rd Block Len: 512
> MMC version 4.4.1
> High Capacity: Yes
> Capacity: 7.4 GiB
> Bus Width: 8-bit
> Erase Group Size: 512 KiB
> HC WP Group Size: 16 MiB
> User Capacity: 7.4 GiB WRREL
> Boot Capacity: 2 MiB ENH
> RPMB Capacity: 128 KiB ENH
>
> => mmc erase 0 0x400
> MMC erase: dev # 2, block # 0, count 1024 ...
> Timeout waiting for DAT0 to go high!
> mmc erase failed
> 0 blocks erased: ERROR
> ----------------------------------------
>
> Any insight on this issue is greatly appreciated.
> Thanks, Cliff

This issue is reproducible on Freescale's SABRESD on both SD card and eMMC with
v2015.04. The issue has been there always, I believe.
Apparently the command erases the first block, but the operation returns an error, so
it aborts and it doesn't continue erasing futher blocks.

I opened a similar thread a while ago:
http://lists.denx.de/pipermail/u-boot/2015-June/215912.html

Regards,
--
Hector Palacios