I need the ability to erase the boot partition and partition information from eMMC from the U-Boot command line. There is a command in U-Boot to do this which fails when executed on the i.MX6 SaberSD Board. That command is "mmc erase" When this command is issued the following is printed on the U-Boot console. Could someone give me an alternative method to erasing eMMC or tell me how to fix the usage of this command? I can do this from a booted Linux but this is not an option.
-------------------------------
=> 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
=>
-------------------------------
Thanks,
C
Hi C
probably wrong sd port was selected, one can try
to select it with mmc dev, mmc info, refer to sect.4.4.1.1 Downloading
an image to MMC/SD attached Linux Guide. Also one can write emmc
with mfg tool.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Igor,
Thanks for the suggestions, but I do have the correct device selected (mmc dev 2) and I have successfully used the MFG Tool to write eMMC as you suggested. The heart of the issue needing o scrub eMMC from U-Boot is because we have no jumpers or DIP switches on our custom board to select a boot mode (its hardwired to eMMC due to the application). I only used the i.MX6Q SabreSD Board as my example because our custom board is based upon that reference design. The bottom line is the U-Boot mmc erase command is failing and without being able to erase the eMMC boot partition the custom board still boots into U-Boot and will not go into serial download mode. Basically, its bricked unless we de-solder resistors to create an invalid boot mode and then put them back after reloading. Not a great option.
Here's a list of the U-Boot commands and the result of each.
----------------------------------------
=> 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,
C
Hi C
seems uboot does not support operations with partitions,
suggest also post this on uboot mail list
Best regards
igor
Igor, the link you provided returns:
403 Forbidden
Thanks again Igor, I've posted this to the U-Boot mailing list. I will post an update here once I get things resolved or otherwise.