Aha! I figured out why the fdtfile setting wasn’t working: the SPI flash’s u-boot only reads uEnv.txt
from mmc1:2 (the SD card’s partition 2) out of the box. You need to change that in the u-boot env:
setenv fatbootpart 0:2
saveenv
This allows me to boot completely from eMMC. (Well, u-boot is still read from SPI flash.) And setting the fdtfile probably isn’t needed anymore, since it now reads uEnv.txt
from the eMMC.