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
EXT_CSD[179], PARTITION_CONFIG:
BOOT_ACK: 0x1
BOOT_PARTITION_ENABLE: 0x1
PARTITION_ACCESS: 0x0
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
bt_fuse_sel [28] = 1
1 - boot from fuses
boot device [14:12] = 010
010 - MMC/eMMC
port select (sd1) [11:10] = 0
00 - uSDHC1
power cycle enable [9] = 0
0 - no power cycle
SD Loopback Clock Source SEL sdr50/sdr104 [8] = 0
0 - through SD pad
Fast Boot [7] = 1
1 - Fast boot
Bus Width [6:4] = 110
110 - 8-bit DDR (MMC 4.4)
Speed [3:2]: = 01
01 - High
Voltage for normal boot [1]: = 1
1 - 1.8 V
Voltage for mfr mode [0]: = 0
0 - 3.3 V
u-boot=> fuse read 2 1
Reading bank 2:
Word 0x00000001: 00010700
DLL enable [16] = 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 [0] = 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.
Thanks!
Kurt