Fix the issue introduced by commit 067e0294806e
("board: xilinx: Remove conditional check for Microblaze").
The scriptaddr should be physical location not really offset
from start of DDR. It is assigned initially with offset.
When U-Boot is not found boot.scr script address in device tree,
then it is calculated based on offset and ram base address for
Microblaze in board_late_init_xilinx() function.

Signed-off-by: Padmarao Begari <[email protected]>
---
 board/xilinx/microblaze-generic/microblaze-generic.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c 
b/board/xilinx/microblaze-generic/microblaze-generic.c
index 2b035d5358..356b247aec 100644
--- a/board/xilinx/microblaze-generic/microblaze-generic.c
+++ b/board/xilinx/microblaze-generic/microblaze-generic.c
@@ -56,6 +56,7 @@ int board_late_init(void)
 
        max_size = gd->start_addr_sp - CONFIG_STACK_SIZE;
        max_size = round_down(max_size, SZ_16M);
+       max_size -= gd->ram_base;
 
        status |= env_set_hex("scriptaddr", max_size + SZ_2M);
 
-- 
2.25.1

Reply via email to