]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
spl: set fdt address as spl_image arg in falcon mode
authorAnshul Dalal <anshuld@ti.com>
Thu, 9 Oct 2025 11:58:45 +0000 (17:28 +0530)
committerTom Rini <trini@konsulko.com>
Mon, 20 Oct 2025 17:54:35 +0000 (11:54 -0600)
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 <anshuld@ti.com>
common/spl/spl.c
common/spl/spl_nor.c
common/spl/spl_xip.c

index f1a1785beefc8196c3dcba6dd1c62eef9a1093d3..8c20b75b178cee8d96149911f43391b2f895969e 100644 (file)
@@ -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");
index bb91f4ab8f8024a4cee39e80f10b3ac45e271ad5..bbd146db2fc9ef4216a71a8504646e5744d945f7 100644 (file)
@@ -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
index 1465c3e46b921652626f5aee8d37b063035e380d..90b4102a7496facd97044ebf969d1081f8a6c16c 100644 (file)
@@ -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;