We are unable to get fast boot mode with ack working on eMMC when configured for 8-bit hs DDR mode on our custom board. The eMMC hardware works correctly both after loading u-boot through sdp and when booting into Linux from there, but the boot ROM will not load u-boot from the eMMC, it will always fall back to serial download. It doesn't appear to fall back to normal boot mode either.
Our eMMC does support HS ddr @ 52MHz 1.8V. It is a v5.1 card, and should support everything needed for boot:
Boot Information [BOOT_INFO: 0x07]
Device supports alternative boot method
Device supports dual data rate during boot
Device supports high speed timing during boot
mmc extcsd has been set up, trying both through u-boot and through linux.
u-boot=> mmc partconf 0 1 1 0
u-boot=> mmc partconf 0
u-boot=> mmc bootbus 0 2 0 2
The ITB u-boot image has been created just like the flash_evk_emmc_fastboot, and it works for sdp mode (has the correct header, etc). It is written into mmcblk0boot0 at offset 0x400 bytes.
I can also disable ack, clear ITB from 0x400, and program the u-boot image to 0x8400 either to boot0 or boot1, but the boot ROM won't load u-boot in that case either. I think this should be the fall-back to normal mode?
Here is the fusing we have set up:
u-boot=> fuse read 1 3
Reading bank 1:
Word 0x00000003: 180020e6
u-boot=> fuse read 2 1
Reading bank 2:
Word 0x00000001: 00010700
DLL enable  = 1
1 - Enable DLL for SD/eMMC
MMC_DLL_DLY [14:8] = 7
7 - slave delay target 7 (as used and confirmed in u-boot)
u-boot=> fuse read 2 2
Reading bank 2:
Word 0x00000002: 00000001
Fast boot acknowlege disable  = 1
1 - Boot ack enabled
Here is how we have the eMMC wired:
I'm not sure what else to try or check! By all accounts, it seems like boot from eMMC should work. Please help.