diff options
author | Michal Simek <michal.simek@xilinx.com> | 2020-07-09 15:57:56 +0200 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2020-08-20 09:46:55 +0200 |
commit | c8da6513c054c150640e8ad12185bd53ae1852fc (patch) | |
tree | 6eda9dc2212c4700b5336a20d0165763161b7286 | |
parent | ba989cf1cac82f10efc749aaf2aaff1694894e71 (diff) | |
download | u-boot-c8da6513c054c150640e8ad12185bd53ae1852fc.tar.gz |
xilinx: Setup bootm variables
On system with PL DDR which is placed before PS DDR in DT
env_get_bootm_size() and env_get_bootm_low() without specifying bootm_low
and bootm_size variables are taking by default gd->bd->bi_dram[0].start and
gd->bd->bi_dram[0].size. As you see 0 means bank 0 which doesn't need to be
PS ddr and even can be memory above 39bit VA which is what U-Boot supports
now.
That's why setup bootm variables based on ram_base/ram_size setting to make
sure that boot images are placed to the same location as U-Boot is placed.
This location should be by default location where OS can boot from.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | board/xilinx/common/board.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 0469e2e7ac..3bca3a25a9 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -86,5 +86,8 @@ int board_late_init_xilinx(void) initrd_hi = round_down(initrd_hi, SZ_16M); env_set_addr("initrd_high", (void *)initrd_hi); + env_set_addr("bootm_low", (void *)gd->ram_base); + env_set_addr("bootm_size", (void *)gd->ram_size); + return 0; } |