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

Reply via email to