From: Dinesh Maniyam <[email protected]>

The SPL NAND MTD framework requires working driver model support
and sufficient memory resources, which are not available on all
platforms.

Introduce a SPL_NAND_FRAMEWORK_CAPABLE Kconfig option to allow
platforms to explicitly advertise support for compiling the full
NAND/MTD framework into SPL.

This avoids accidental enablement of the SPL NAND framework on
platforms that cannot support it and provides a clear capability
boundary for platform maintainers.

Signed-off-by: Dinesh Maniyam <[email protected]>
---
 drivers/mtd/nand/raw/Kconfig | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index e0ff28cb21b..e41e5ef2e94 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -809,6 +809,31 @@ config SYS_NAND_HW_ECC_OOBFIRST
        bool "In SPL, read the OOB first and then the data from NAND"
        depends on SPL_NAND_SIMPLE
 
+config SPL_NAND_FRAMEWORK_CAPABLE
+       bool
+       depends on SPL_DM
+       depends on SPL_HAS_BSS_LINKER_SECTION
+
+config SPL_NAND_USE_NAND_FRAMEWORK
+       bool "Use NAND/MTD framework in SPL"
+       depends on SPL_NAND_SUPPORT && MTD
+       depends on SPL_NAND_FRAMEWORK_CAPABLE
+       depends on SPL_ENV_SUPPORT
+       depends on ENV_IS_IN_NAND
+       select SPL_SYS_NAND_SELF_INIT
+       select SPL_NAND_BASE
+       select SPL_NAND_DRIVERS
+       select SPL_NAND_IDENT
+       select SPL_NAND_INIT
+       select SPL_NAND_ECC
+       help
+               Enable loading U-Boot from NAND in SPL using the full
+               NAND/MTD framework instead of the minimal SPL NAND loaders.
+               This provides bad-block aware reads and flexible offset
+               handling via the common NAND/MTD infrastructure.
+               Platforms enabling this option must also provide working
+               driver model support and sufficient SPL memory resources.
+
 endif  # if SPL
 
 endif  # if MTD_RAW_NAND
-- 
2.43.7

Reply via email to