mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-16 04:01:31 +00:00
xilinx: common: Fix boot script address
Currently u-boot supports addresses upto 39-bits only. If anybody wants to use addresses of more than 39-bits in Linux they will have a separate memory node in DT. In such cases they will have multiple memory nodes. Currently u-boot selects and runs on lower memory bank region. But bootscript is being loaded on dram bank 0, where dram bank 0 will point to 1st memory node in DT. If first memory node is mentioned as higher ddr(>39-bits address) then u-boot cannot load the bootscript. So fix this issue by setting bootscript address within the lower memory bank region. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
84e7cc9126
commit
25484d9070
1 changed files with 2 additions and 4 deletions
|
@ -378,14 +378,12 @@ int board_late_init_xilinx(void)
|
|||
int i, id, macid = 0;
|
||||
struct xilinx_board_description *desc;
|
||||
phys_size_t bootm_size = gd->ram_size;
|
||||
struct bd_info *bd = gd->bd;
|
||||
|
||||
if (!CONFIG_IS_ENABLED(MICROBLAZE) && bd->bi_dram[0].start) {
|
||||
if (!CONFIG_IS_ENABLED(MICROBLAZE)) {
|
||||
ulong scriptaddr;
|
||||
|
||||
scriptaddr = env_get_hex("scriptaddr", 0);
|
||||
ret |= env_set_hex("scriptaddr",
|
||||
bd->bi_dram[0].start + scriptaddr);
|
||||
ret |= env_set_hex("scriptaddr", gd->ram_base + scriptaddr);
|
||||
}
|
||||
|
||||
if (CONFIG_IS_ENABLED(ARCH_ZYNQ) || CONFIG_IS_ENABLED(MICROBLAZE))
|
||||
|
|
Loading…
Add table
Reference in a new issue