On Fri, Apr 08, 2022 at 02:09:19AM +0200, Marek Vasut wrote: > The current implementation of boot_relocate_fdt() places DT at the > highest usable DRAM address, which is calculated as: > env_get_bootm_low() + env_get_bootm_mapsize() > which by default becomes gd->ram_base + gd->ram_size. > > Systems like i.MX53 can have multiple DRAM banks with gap between them, > e.g. have DRAM at 0x70000000-0x8fffffff and 0xb0000000-0xcfffffff , so > for them the calculated highest DRAM address is 0xafffffff, which is > exactly in the gap and thus not usable. > > Fix this by iterating over all DRAM banks and tracking the remaining > amount of the total mapping size obtained from env_get_bootm_mapsize(). > Limit the maximum LMB area size to each bank, to avoid using nonexistent > DRAM. > > Reviewed-by: Simon Glass <[email protected]> > Signed-off-by: Marek Vasut <[email protected]> > Cc: Heinrich Schuchardt <[email protected]> > Cc: Simon Glass <[email protected]> > Cc: Tom Rini <[email protected]>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature

