
On 24/05/2022 11:00, Peng Fan (OSS) wrote:
By default when BINMAN_SYMBOLS is enabled, common/spl/spl.c has a code piece `binman_sym_declare(ulong, u_boot_any, image_pos);` which requires u-boot* node in device tree binman node section. But some platforms(i.MX8M) not need it. To avoid build break with BINMAN_SYMBOLS, introduce a no-u-boot-any property.
This is just a hacky workaround, I don't think it's OK.
Anyway, turns out you don't need this patch (and 5/9) either. I tried a few things and found CONFIG_SPL_RAW_IMAGE_SUPPORT (enabled on most imx8m) and CONFIG_SPL_RAM_DEVICE (enabled on imx8mm_data_modul_edm_sbc) are using the 'u_boot_any' symbols. Disable them and the symbols get optimized away and the error disappears.
I also found some relevant discussions from a while back, see [1], [2].
[1] using binman fails boot https://lore.kernel.org/u-boot/CAJ+vNU0BZDr2q0ZPQkoQBP1eBhbYmQfJMYraSgOvWXwZ...
[2] imx8: ls1028a: Drop raw image support https://lore.kernel.org/u-boot/20210801205951.2202789-1-sjg@chromium.org/T/#...