
Hi Tom,
On 2015-10-14 05:39, Tom Rini wrote:
On Tue, Oct 13, 2015 at 11:11:45PM -0700, Stefan Agner 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.
Signed-off-by: Stefan Agner stefan@agner.ch
include/configs/vf610twr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h index 324ba8f..1d15f35 100644 --- a/include/configs/vf610twr.h +++ b/include/configs/vf610twr.h @@ -129,7 +129,7 @@ "fdt_high=0xffffffff\0" \ "initrd_high=0xffffffff\0" \ "fdt_file=vf610-twr.dtb\0" \
- "fdt_addr=0x81000000\0" \
- "fdt_addr=0x84000000\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
OK, this is all wrong :( Please take a look at include/configs/ti_armv7_common.h and DEFAULT_LINUX_BOOT_ENV (and the giant comment block explaining the values).
This default environment is quite old, and according to the log it came from Timesys/Freescales initial BSP.
The end of the DDR is commonly used for the second Cortex-M4 core. Hence I guess fdt_high=0xffffffff has been set to avoid that U-Boot relocates the device tree into the DDR area used by the M4. Note that this board only has 128MiB of RAM,
I see that the comments in ti_armv7_common.h is mostly about moving stuff into the upper 128MiB, which we don't have. So, with these two things in mind, what do you want me to do differently?
-- Stefan