With CONFIG_SPL_OS_BOOT enabled, U-Boot checks for the return value of spl_start_uboot to select between falcon or the regular boot flow. Where a return value of 0 means 'boot to linux'.
This patch overrides the weak definition form common/spl/spl.c to allow K3 devices to use falcon mode with SPL_OS_BOOT enabled. Signed-off-by: Anshul Dalal <[email protected]> --- arch/arm/mach-k3/common.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index 5483ac9906c..c1a4aa1cf9d 100644 --- a/arch/arm/mach-k3/common.c +++ b/arch/arm/mach-k3/common.c @@ -303,6 +303,14 @@ static __maybe_unused void k3_dma_remove(void) pr_warn("DMA Device not found (err=%d)\n", rc); } +#ifdef CONFIG_SPL_OS_BOOT +int spl_start_uboot(void) +{ + /* Always boot to linux on Cortex A SPL with CONFIG_SPL_OS_BOOT set */ + return 0; +} +#endif + void spl_board_prepare_for_boot(void) { #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF)) -- 2.51.0

