
Hi
Could you send a patch which adds appropriate defconfig file for SPI boot? So this configuration would be tested in U-Boot CI automatically.
Will do. Does it need to be the same as the other defconfigs otherwise? I suggest putting the environment in SPI as well if u-boot is already there (default is MMC).
Have you tried booting from eMMC boot partition or eMMC user data partition? Because all 3 options should work, but I'm not fully sure if BootROM choose partition from eMMC register or if tries all 3 in some order. This is something which needs to be checked and verified.
I only tested from boot0, but will test the others as well. I've only ever seen it fallback, but I'll check the new changes and see if they can select the boot device.
Could you try to use SolidRun eMMC patch which SolidRun has for years in its repository?
https://github.com/SolidRun/u-boot/commit/19a96f7c40a8fc1d0a6546ac2418d966e5...
Probably same functionality is needed to implement also into board_fix_fdt() function enabled by CONFIG_OF_BOARD_FIXUP. Look for other boards how they use CONFIG_OF_BOARD_FIXUP.
And if ... you can try to put this logic in board_late_init() function. For inspiration look into Espressobin board which deactivates eMMC at runtime by checking existence of eMMC: https://source.denx.de/u-boot/u-boot/-/blob/master/board/Marvell/mvebu_armad...
This is still on my TODO from earlier discussions.
There is still missing documentation for kwbimage config file format. It should be in "kwbimage" section of ./doc/mkimage.1 file but there is only placeholder... It would be nice if somebody can take it and write it.
I'm not sure if I have the expertise for this, but can take a look as well.
Martin