[PATCH RFT v1 17/17] arm: spl: use fdt addr if arg is unset in falcon mode

Anshul Dalal anshuld at ti.com
Thu Sep 11 15:14:13 CEST 2025


spl_image->arg is passed to the kernel as an argument in the x0
register. However in cases when the kernel is loaded from a FIT
container along with a DT, the arg remains unset which leads to boot
failure.

Therefore, this patch sets the arg to fdt address if it's null.

Signed-off-by: Anshul Dalal <anshuld at ti.com>
---
 arch/arm/lib/spl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index c43a63f1819..2e7613a6f2e 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -53,6 +53,8 @@ void __weak board_init_f(ulong dummy)
 #ifdef CONFIG_ARM64
 void __noreturn jump_to_image_linux(struct spl_image_info *spl_image)
 {
+	if (!spl_image->arg)
+		spl_image->arg = spl_image_fdt_addr(spl_image);
 	debug("Entering kernel arg pointer: 0x%p\n", spl_image->arg);
 	cleanup_before_linux();
 	armv8_switch_to_el2((u64)spl_image->arg, 0, 0, 0,
-- 
2.51.0



More information about the U-Boot mailing list