spl: binman: Disable u_boot_any symbols for i.MX8M boards
authorAlper Nebi Yasak <alpernebiyasak@gmail.com>
Sat, 18 Jun 2022 12:13:12 +0000 (15:13 +0300)
committerSimon Glass <sjg@chromium.org>
Tue, 28 Jun 2022 02:09:52 +0000 (03:09 +0100)
The i.MX8M boards use partially specified binman images which have an
SPL entry without a U-Boot entry. This would normally cause an error due
to the 'u_boot_any' binman symbols declared by BINMAN_UBOOT_SYMBOLS
requiring a U-Boot-like entry in the same image as the SPL.

However, a problem in the ARMv8 __image_copy_start symbol definition
effectively disables binman from attempting to write any symbols at all,
so everything appears to work fine until runtime. A future patch fixes
the issue in the linker scripts, which lets binman fill in the symbols,
which would result in the build error described above.

Explicitly disable the 'u_boot_any' symbols for i.MX8M boards. They are
already effectively unusable, and they are incompatible with the boards'
current binman image descriptions.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
common/spl/Kconfig
common/spl/Kconfig.tpl
common/spl/Kconfig.vpl

index 46d9be7..152569e 100644 (file)
@@ -200,6 +200,7 @@ config SPL_BINMAN_SYMBOLS
 config SPL_BINMAN_UBOOT_SYMBOLS
        bool "Declare binman symbols for U-Boot phases in SPL"
        depends on SPL_BINMAN_SYMBOLS
+       default n if ARCH_IMX8M
        default y
        help
          This enables use of symbols in SPL which refer to U-Boot phases,
index 8c59c76..e314b79 100644 (file)
@@ -23,6 +23,7 @@ config TPL_BINMAN_SYMBOLS
 config TPL_BINMAN_UBOOT_SYMBOLS
        bool "Declare binman symbols for U-Boot phases in TPL"
        depends on TPL_BINMAN_SYMBOLS
+       default n if ARCH_IMX8M
        default y
        help
          This enables use of symbols in TPL which refer to U-Boot phases,
index daec0bb..ba4b2e4 100644 (file)
@@ -213,6 +213,7 @@ config VPL_BINMAN_SYMBOLS
 config VPL_BINMAN_UBOOT_SYMBOLS
        bool "Declare binman symbols for U-Boot phases in VPL"
        depends on VPL_BINMAN_SYMBOLS
+       default n if ARCH_IMX8M
        default y
        help
          This enables use of symbols in VPL which refer to U-Boot phases,