From: Quentin Schulz <quentin.sch...@cherry.de> Essentially the only differences between u-boot-rockchip.bin and u-boot-rockchip-spi.bin are the formatting of idbloader.img which is handled by mkimage (via -T rkspi/rksd) and the offset at which U-Boot proper is flashed, the content of the binaries are identical otherwise.
This fixes some issues[1] where binman tries to find the symbols defined in the proper binary to install them in an xPL binary. However, because we use the binary for proper (on Aarch64) generated in simple-bin image node and not simple-bin-spi image node, binman doesn't have access to that symbol anymore. Therefore, let's depend entirely on binaries built by simple-bin in simple-bin-spi so those issues do not arise anymore as nothing is compiled essentially, just assembled. [1] https://lore.kernel.org/u-boot/20250129132529.807031-3-na...@radxa.com/ Signed-off-by: Quentin Schulz <quentin.sch...@cherry.de> --- arch/arm/dts/rockchip-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi index c8c928c7e5089db3a2239f2564e6dee1d82aad95..2e8a3bd09e49ed73a8cea3fadfb6d2b592082365 100644 --- a/arch/arm/dts/rockchip-u-boot.dtsi +++ b/arch/arm/dts/rockchip-u-boot.dtsi @@ -187,18 +187,28 @@ }; #elif defined(CONFIG_TPL) u-boot-tpl { + type = "blob"; + /* sync with /binman/simple-bin/mkimage/u-boot-tpl */ + filename = "tpl/u-boot-tpl.bin"; }; #endif u-boot-spl { + type = "blob"; + /* sync with /binman/simple-bin/mkimage/u-boot-spl */ + filename = "spl/u-boot-spl.bin"; }; }; #if defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE) fit { type = "blob"; + /* sync with /binman/simple-bin/fit */ filename = "u-boot.itb"; #else u-boot-img { + type = "blob"; + /* sync with /binman/simple-bin/u-boot-img */ + filename = "u-boot.img"; #endif /* Sync with u-boot,spl-payload-offset if present */ offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>; -- 2.48.1