From: Anshul Dalal Date: Thu, 9 Oct 2025 11:58:45 +0000 (+0530) Subject: spl: set fdt address as spl_image arg in falcon mode X-Git-Tag: v2026.01-rc1~17^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f851171e14ac1b1910c549879a9b82060cc4cdba;p=thirdparty%2Fu-boot.git spl: set fdt address as spl_image arg in falcon mode The arg field of `struct spl_image_info` is used by jump_to_image_linux as the argument for the kernel in falcon mode. Since commit 601cebc29d2a ("cmd: spl: Remove ATAG support from this command"), fdt is the only valid argument for kernel in falcon mode. However fdt was only being set as the argument in nor and xip boot modes, this patch fixes it for all boot modes and removes the now redundant code from spl_nor and spl_xip. Signed-off-by: Anshul Dalal --- diff --git a/common/spl/spl.c b/common/spl/spl.c index f1a1785beef..8c20b75b178 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -800,6 +800,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2) fdt = spl_image_fdt_addr(&spl_image); spl_fixup_fdt(fdt); spl_board_prepare_for_linux(); + spl_image.arg = fdt; jumper = &jump_to_image_linux; } else { debug("Unsupported OS image.. Jumping nevertheless..\n"); diff --git a/common/spl/spl_nor.c b/common/spl/spl_nor.c index bb91f4ab8f8..bbd146db2fc 100644 --- a/common/spl/spl_nor.c +++ b/common/spl/spl_nor.c @@ -69,10 +69,6 @@ static int spl_nor_load_image_os(struct spl_image_info *spl_image, (void *)(CONFIG_SYS_OS_BASE + sizeof(struct legacy_img_hdr)), spl_image->size); -#ifdef CONFIG_SPL_PAYLOAD_ARGS_ADDR - spl_image->arg = (void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR; -#endif - return 0; } #endif diff --git a/common/spl/spl_xip.c b/common/spl/spl_xip.c index 1465c3e46b9..90b4102a749 100644 --- a/common/spl/spl_xip.c +++ b/common/spl/spl_xip.c @@ -14,7 +14,6 @@ static int spl_xip(struct spl_image_info *spl_image, { #if CONFIG_IS_ENABLED(OS_BOOT) if (!spl_start_uboot()) { - spl_image->arg = (void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR; spl_image->name = "Linux"; spl_image->os = IH_OS_LINUX; spl_image->load_addr = CONFIG_SYS_LOAD_ADDR;