I'm curently working on a custom STM32MP1 board with a QSPI Nor flash. The NOR Flash seems to work perfectly in Uboot Basic after the modification we have done. The Data are MD5 checked and the SPL is at address 0x0 of the NOR Flash. Evrerything here https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview about the Boot in Nor Flash is respected.
But when we change our BOOT mode Selection, It doesn't boot.
We can only mesure the CS of the NOR FLASH and we see that it is asserted once quickly shortly after reset. But that's all.
My question is: Do you support only some NOR FLASH by reading the JEDEC number in ROM Code ?
There is no restriction to specific NOR Flash, but as there is no 'standard' , some devices might not behave as expected. Could you share the NOR Flash Part number ?
Before Flashing, did you append your image with the header using Signing tool provided with STM32CubeProgrammer ? This is required even if not using secure boot.
Did you program successfully the QSPI NOR Flash using STM32CubeProgrammer ?
Did you try to program also FSBL2 at offset LBA512 (0x40000) ?
Did you have a way to experiment your code on STM32MP157-EV1 board ?
This is a ISSI IS25LP016 Nor Flash.
Do you mean that u-boot-spl.stm32 that is working on a SD-Card is not direrctly flashable to the NOR Flash ?
Same for the eMMC then ?
u-boot-spl.stm32 is basic boot. Did you use u-boot-spl.stm32-stm32mp157c-ev1-basic file or a custom one ?
Yes, same file could be used on both SD-Card and NOR or eMMC, but it should be supporting this flash (seems you have modified it).
We anyway recommend using Trusted boot. See https://wiki.st.com/stm32mpu/wiki/Boot_chains_overview#Overview
Do you have a way to check more in details the activity on QSPI IO0 and IO1 lanes ? BootROM first check the header consistency.