summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnshul Dalal <[email protected]>2025-10-09 17:28:45 +0530
committerTom Rini <[email protected]>2025-10-20 11:54:35 -0600
commitf851171e14ac1b1910c549879a9b82060cc4cdba (patch)
treeae98caff87ef8967722cc3b19ae79151a48271f4
parent82e04e768fc21c1ac43df5d5a68ec8aaf008c0a8 (diff)
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 <[email protected]>
-rw-r--r--common/spl/spl.c1
-rw-r--r--common/spl/spl_nor.c4
-rw-r--r--common/spl/spl_xip.c1
3 files changed, 1 insertions, 5 deletions
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;