
I'm willing to make this change to set the FDT address and test this. Where in the u-boot code should the change be made?
per this thread: https://www.raspberrypi.org/forums/viewtopic.php?t=134018 The DTB start address is size dependent. The aim is to copy the DTB as high as possible. Once the kernel starts it will "unflatten" the DTB into allocated memory and then re-use the space.
ARM memory starts at 0 in the VPU physical address space. The GPU memory sits at the top. This is how it works:Code: Select all ARMMEM_END = MEM_SIZE - GPU_MEM// Leave 64KB for GRUB free_end = ALIGN_DOWN(ARMMEM_END - 0x10000, 0x1000)
// Leave space for initramfs, if there is one free_end = ALIGN_DOWN(free_end - initramfs_size, 0x1000)
device_tree_address = ALIGN_DOWN(free_end - device_tree_size, 0x100) Don't forget that the address of the DTB is passed in register r2 to the kernel/U-boot entry point, with r0 holding 0 and r1 being 3138 (the BCM2708 machine id). Duncan Hare
714 931 7952