]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
xilinx: common: fix script address for Microblaze
authorPadmarao Begari <padmarao.begari@amd.com>
Tue, 1 Oct 2024 08:25:37 +0000 (13:55 +0530)
committerMichal Simek <michal.simek@amd.com>
Fri, 25 Oct 2024 12:10:31 +0000 (14:10 +0200)
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. When U-Boot is not found boot.scr script
address in device tree, then it is assigned  based on script
address  and ram base address for Microblaze and i.e exceeding
DDR memory. To fix this, the script address is assigned
initially with offset instead of address. Later it is added
with ram base address and gets the physical address.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20241001082537.830286-1-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
board/xilinx/microblaze-generic/microblaze-generic.c

index dc4523824b4681a38e71e83f6e38ecb5d6c583f2..6fc0512ce53f58a67064fe1ca570ececfbaf7cba 100644 (file)
@@ -57,7 +57,7 @@ int board_late_init(void)
        max_size = gd->start_addr_sp - CONFIG_STACK_SIZE;
        max_size = round_down(max_size, SZ_16M);
 
-       status |= env_set_hex("scriptaddr", max_size + SZ_2M);
+       status |= env_set_hex("scriptaddr", (max_size - gd->ram_base) + SZ_2M);
 
        status |= env_set_hex("pxefile_addr_r", max_size + SZ_1M);