
On 2015-10-14 01:36, Albert ARIBAUD wrote:
Hello Stefan,
On Tue, 13 Oct 2015 23:11:45 -0700, Stefan Agner stefan@agner.ch wrote:
Since the device tree relocation is disabled (fdt_high set to 0xffffffff), U-Boot keeps the device tree at its load address 0x81000000. The kernel uncompresses itself to 0x80008000 by default, hence this limits the maximum (uncompressed) kernel size to somewhat below 16MiB, otherwise the device tree gets overwritten by the kernel data...
Move the device tree load address to 0x84000000 to avoid that the device tree being overwritten by the kernel.
OOC, why is device tree relocation disabled? I'm asking because by manually placing the device tree (or anything else) high in DDR, one runs the risk of overwriting some of U-Boot's data.
I guess this has been done for Cortex-M4 firmwares running from DDR. As Tom pointed out, this can be archived in a nicer way using bootm_size.
-- Stefan