The returned legacy_img_hdr is used by booti_setup to compute the load
address for the kernel image.

This change ensures the kernel load address is CONFIG_SYS_LOAD_ADDR in
falcon boot.

Signed-off-by: Anshul Dalal <ansh...@ti.com>
---
 arch/arm/mach-k3/r5/sysfw-loader.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-k3/r5/sysfw-loader.c 
b/arch/arm/mach-k3/r5/sysfw-loader.c
index 188731e673d..19607606965 100644
--- a/arch/arm/mach-k3/r5/sysfw-loader.c
+++ b/arch/arm/mach-k3/r5/sysfw-loader.c
@@ -89,7 +89,11 @@ static void *sysfw_load_address;
 struct legacy_img_hdr *spl_get_load_buffer(ssize_t offset, size_t size)
 {
        if (sysfw_loaded)
-               return (struct legacy_img_hdr *)(CONFIG_TEXT_BASE + offset);
+               if (IS_ENABLED(CONFIG_SPL_OS_BOOT))
+                       return (struct legacy_img_hdr *)CONFIG_SYS_LOAD_ADDR;
+               else
+                       return (struct legacy_img_hdr *)(CONFIG_TEXT_BASE +
+                                                        offset);
        else if (sysfw_load_address)
                return sysfw_load_address;
        else
-- 
2.43.0

Reply via email to