On Fri, Jun 19, 2026 at 11:55:29AM +0100, Quentin Strydom wrote:

> When CONFIG_SPL_SEPARATE_BSS is enabled, fdt_find_separate()
> expects the SPL control DTB at _image_binary_end. However,
> u-boot-spl-dtb.bin is currently generated by concatenating
> u-boot-spl-nodtb.bin and the SPL DTB directly, without padding
> up to _image_binary_end.
> 
> On evb-ast2600 this places the appended SPL DTB at 0xc92c while
> _image_binary_end is 0xc930. The SPL therefore checks four bytes
> past the FDT header and fails early with:
> 
>   Missing DTB
>   No serial driver found
> 
> Add padding between the xPL nodtb binary and the DTB when separate
> BSS is enabled, so the DTB is placed where fdt_find_separate()
> expects it.
> 
> Signed-off-by: Quentin Strydom <[email protected]>

I'm glad someone has been able to test this on hardware now, and I'm
sorry it wasn't fixed when dealing with the rest of the fallout here.
I'm not sure this is quite the correct fix however as we should be
ensuring that output file and _image_binary_end agree. What sections
are, and aren't being included when we create the -nodtb.bin file? I
think the place I ended up putting the '. = ALIGN(8)' in commit 
8b0ebe054bb3 ("arm: Update linker scripts to ensure appended device tree
is aligned") ended up not being correct on this platform.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to