On Thu, Jan 22, 2026 at 4:42 PM Tom Rini <[email protected]> wrote:
> OK. FWIW, I can't reproduce those linker messages about ".sdram" and
> ".sram", even when I point ROCKCHIP_TPL at the right binary file (per
> the docs).
I only see these messages if I force SPL_SEPARATE_BSS.
The board boots despite these messages.
> I think you need to figure out where the mismatch is between where the
> device tree is appended in the binary, and where it's expected to be, in
> the binary, and then why something is writing it to the incorrect spot.
> At run time, in xPL (and this is lib/fdtdec.c) we look at either
> _image_binary_end if SEPARATE_BSS is enabled, or __bss_end if not.
> Looking at the config, I see we are not SEPARATE_BSS here, so it needs
> to be at __bss_end. And in both works and fails branches (my own quick
> rebase -q origin/master), for me, __bss_end is the same location.
The dtb is placed at shifted-by-4 offset after the commit in Subject line:
With 8b0ebe054bb3 ("arm: Update linker scripts to ensure appended
device tree is aligned"):
$ hexdump -Cv spl/u-boot-spl.bin | grep 'd0 0d fe ed'
000029f0 d0 0d fe ed 00 29 05 db 8a 18 03 d2 43 6a 1b ba |.....)......Cj..|
00015f10 00 00 00 00 d0 0d fe ed 00 00 0a 43 00 00 00 38 |...........C...8|
Because of this shift the dtb cannot be found and the boot fails.
With 8b0ebe054bb3 ("arm: Update linker scripts to ensure appended
device tree is aligned") reverted"
$ hexdump -Cv spl/u-boot-spl.bin | grep 'd0 0d fe ed'
000029f0 d0 0d fe ed 00 29 05 db 8a 18 03 d2 43 6a 1b ba |.....)......Cj..|
00015f10 d0 0d fe ed 00 00 0a 43 00 00 00 38 00 00 08 a8 |.......C...8....|
Here the dtb is found and boot proceeds.