]> git.ipfire.org Git - thirdparty/u-boot.git/commit
arm: aspeed: Fix AST2600 SPL external DTB alignment
authorQuentin Strydom <qstrydom0@gmail.com>
Sat, 20 Jun 2026 15:07:24 +0000 (16:07 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 23 Jun 2026 16:41:25 +0000 (10:41 -0600)
commitfcda974e36033ad5331a9b4a4a551af4e141ad7d
tree1ce549574303bb4a129d9d068143f768133dff4a
parent4edbb6fb600a0f657e74a9bc47e0d314e059cef8
arm: aspeed: Fix AST2600 SPL external DTB alignment

For AST2600 SPL with CONFIG_SPL_SEPARATE_BSS=y and
CONFIG_OF_SEPARATE=y, fdt_find_separate() expects the appended control
DTB at _image_binary_end.

The AST2600 SPL linker script aligned _image_binary_end via the
.binman_sym_table section. In builds where that section has no emitted
contents, objcopy -O binary does not include the alignment bytes in
spl/u-boot-spl-nodtb.bin. This causes the nodtb binary to end before
_image_binary_end, so the appended DTB is placed too early.

On evb-ast2600 this produced:

  sizeof(spl/u-boot-spl-nodtb.bin) = 0xc92c
  _image_binary_end                = 0xc930

SPL then looked four bytes past the FDT header and failed with:

  Missing DTB
  No serial driver found

Move the 8-byte alignment into the preceding emitted __u_boot_list
section so the objcopy output and _image_binary_end agree.

Signed-off-by: Quentin Strydom <qstrydom0@gmail.com>
arch/arm/mach-aspeed/ast2600/u-boot-spl.lds