[PATCH] mtd: nand: Allow full NAND framework in SPL
Jit Loon Lim
jit.loon.lim at intel.com
Mon Sep 5 16:11:14 CEST 2022
From: Tien Fong Chee <tien.fong.chee at intel.com>
Add configuration option to compile the entire NAND framework into
U-Boot SPL. This is required by some drivers, like the Denali NAND,
which use a lot of functionality from the NAND core.
Signed-off-by: Marek Vasut <marex at denx.de>
Signed-off-by: Tien Fong Chee <tien.fong.chee at intel.com>
Signed-off-by: Jit Loon Lim <jit.loon.lim at intel.com>
---
drivers/mtd/nand/raw/Kconfig | 7 +++++++
drivers/mtd/nand/raw/Makefile | 16 +++++++++-------
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index ce67d1abde..a3bd45f24e 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -694,4 +694,11 @@ config SPL_NAND_SIMPLE
expose the cmd_ctrl() interface.
endif
+config SPL_NAND_FRAMEWORK
+ bool "Compile the entire NAND framework into the SPL"
+ help
+ Some drivers require a lot of functionality from the NAND framework
+ core when used in SPL. This option allows compiling the full NAND
+ framework into the SPL instead of it's reduced version.
+
endif # if NAND
diff --git a/drivers/mtd/nand/raw/Makefile b/drivers/mtd/nand/raw/Makefile
index a398aa9d88..e0f7045fec 100644
--- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile
@@ -3,8 +3,16 @@
# (C) Copyright 2006
# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+nand-framework-objs := nand.o nand_bbt.o nand_ids.o nand_util.o \
+ nand_ecc.o nand_base.o nand_timings.o
+
ifdef CONFIG_SPL_BUILD
+ifdef CONFIG_SPL_NAND_FRAMEWORK
+obj-y += $(nand-framework-objs)
+NORMAL_DRIVERS=y
+endif
+
ifdef CONFIG_SPL_NAND_DRIVERS
NORMAL_DRIVERS=y
endif
@@ -27,19 +35,13 @@ else # not spl
NORMAL_DRIVERS=y
-obj-y += nand.o
-obj-y += nand_bbt.o
-obj-y += nand_ids.o
-obj-y += nand_util.o
-obj-y += nand_ecc.o
-obj-y += nand_base.o
obj-y += nand_amd.o
obj-y += nand_hynix.o
obj-y += nand_macronix.o
obj-y += nand_micron.o
obj-y += nand_samsung.o
obj-y += nand_toshiba.o
-obj-y += nand_timings.o
+obj-y += $(nand-framework-objs)
endif # not spl
--
2.26.2
More information about the U-Boot
mailing list