On Mon, Apr 27, 2020 at 07:17:58PM +0100, Andre Przywara wrote: > The U-Boot documentation explains that variables ending with "_r" hold > addresses in DRAM, while those without that ending point to flash/ROM. > The default variables for the Juno board pointing to the kernel and DTB > load addresses were not complying with this scheme: they lack the > extension, but point to DRAM. This is particularly confusing since the > Juno board features parallel NOR flash, so there *is* a memory mapped > NOR address holding a DTB, for instance. > > Fix the variables to use the proper names, changing initrd_addr to > ramdisk_addr_r on the way, which seems to be more prevelant and > documented. On the way adjust the FDT load address to be situated > *before* the kernel, since users happened to overwrite the DTB by the > kernel clearing its .BSS section during initialisation. > Also remove the fdt_high and initrd_high variables (which were set > to -1), to allow U-Boot moving those images around. > > This should avoid many problems in the future, but breaks loading > Linux kernels < v4.2, since they expect the DTB to be loaded in the same > 512MB region as the kernel. If you need to load such an old kernel, > please set fdt_high to either 0xffffffffffffffff or 0xa0000000 (if you > load the kernel to the beginning of DRAM). > > That fixes loading debug kernels, which happened to overwrite the DTB on > certain setups. > > Signed-off-by: Andre Przywara <andre.przyw...@arm.com> > Reviewed-by: Simon Glass <s...@chromium.org>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature