Introduce another SIZE_CHECK macro for u-boot-with-spl.bin.

Note that we cannot reuse BOARD_SIZE_LIMIT here, as this also applies to
intermediate u-boot*bin images, which, before being compressed, may be
larger than the final combined image.

Also SPL_SIZE_LIMIT has to be a separate option, as some boards might
just want to restrict SPL size while still allowing u-boot-with-spl.bin
to be bigger.

Signed-off-by: Philip Oberfichtner <p...@denx.de>
Reviewed-by: Tom Rini <tr...@konsulko.com>
---

Notes:
    Changes in v6: none
    
    Changes in v5:
        - Fix for broken boards reported in v4
        - See 
https://patchwork.ozlabs.org/project/uboot/patch/20250708103959.26129-2-...@denx.de/
    
    Changes in v4: none
    
    Changes in v3:
        Reuse existing SPL_SIZE_LIMIT instead of implementing a new option
    
    Changes in v2: none

 Makefile           | 1 +
 common/spl/Kconfig | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/Makefile b/Makefile
index 69c37082610..70d963a5724 100644
--- a/Makefile
+++ b/Makefile
@@ -1715,6 +1715,7 @@ OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \
                                   --pad-to=$(CONFIG_SPL_PAD_TO)
 u-boot-with-spl.bin: $(SPL_IMAGE) $(SPL_PAYLOAD) FORCE
        $(call if_changed,pad_cat)
+       @$(call size_check,$@,$(CONFIG_UBOOT_WITH_SPL_SIZE_LIMIT))
 
 ifeq ($(CONFIG_ARCH_LPC32XX)$(CONFIG_SPL),yy)
 MKIMAGEFLAGS_lpc32xx-spl.img = -T lpc32xximage -a $(CONFIG_SPL_TEXT_BASE)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index ab05536bd02..b5c0c60ff6b 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -36,6 +36,13 @@ config SPL_FRAMEWORK_BOARD_INIT_F
          - initialize the serial (preloader_console_init)
          Unless you want to provide your own board_init_f, you should say Y.
 
+config UBOOT_WITH_SPL_SIZE_LIMIT
+       hex "Maximum size of u-boot-with-spl.bin"
+       default 0x0
+       help
+         Specifies the maximum length of the u-boot-with-spl.bin image.
+         If this value is zero, it is ignored.
+
 config SPL_SIZE_LIMIT
        hex "Maximum size of SPL image"
        default 0x11000 if ARCH_MX6 && !MX6_OCRAM_256KB
-- 
2.39.5

Reply via email to