Hi all, Continuing from the last series[1], this patch series addresses the requirement of allowing no fallbacks in secure falcon mode.
To do this in a clean way, all the falcon mode logic for each boot media was refactored to a corresponding *_load_image_os function whereas the regular boot is implemented in *_load_image, this allows us to easily return early in case the *_load_image_os function fails with secure mode enabled. The series also introduces the new SPL_OS_BOOT_SECURE config symbol which enables secure falcon boot flow. The generic flow after the patch series looks as follows: static int spl_<bootmedia>_load_image(...) { if (CONFIG_IS_ENABLED(OS_BOOT)) { ret = spl_<bootmedia>_load_image_os(...); puts("Failcon mode failed\n"); if (CONFIG_IS_ENABLED(OS_BOOT_SECURE)) { puts("no fallback allowed!\n"); return ret; } puts("Falling back to U-Boot\n"); } /* Regular boot flow */ } Regards, Anshul [1]: https://lore.kernel.org/u-boot/20250923124639.667718-1-ansh...@ti.com/ Depends-on: https://lore.kernel.org/u-boot/20250923124639.667718-1-ansh...@ti.com/ --- Changes in v2: - Remove extra printf to address SPL size concerns v1: https://lore.kernel.org/u-boot/20250916105857.163951-1-ansh...@ti.com/ --- Anshul Dalal (8): spl: Kconfig: add SPL_OS_BOOT_SECURE config symbol spl: Kconfig: allow K3 devices to use falcon mode spl: mmc: split spl_mmc_do_fs_boot into regular/os_boot spl: ubi: refactor spl_ubi_load_image for falcon mode spl: spi: refactor spl_spi_load_image for falcon mode spl: nor: refactor spl_nor_load_image for falcon mode spl: nand: refactor spl_nand_load_image for falcon mode spl: falcon: disable fallback to U-Boot on failure common/spl/Kconfig | 10 +++- common/spl/spl_mmc.c | 81 ++++++++++++++++++++------------ common/spl/spl_nand.c | 96 +++++++++++++++++++++----------------- common/spl/spl_nor.c | 104 ++++++++++++++++++++++++------------------ common/spl/spl_spi.c | 31 ++++++++++--- common/spl/spl_ubi.c | 43 ++++++++++++----- 6 files changed, 229 insertions(+), 136 deletions(-) -- 2.51.0