[PATCH] mtd: Tighten some mtd driver dependencies

Tom Rini trini at konsulko.com
Fri Jul 11 17:16:04 CEST 2025


A large number of mtd drivers cannot build without access to some
platform specific header files. Express those requirements in Kconfig as
well.

Signed-off-by: Tom Rini <trini at konsulko.com>
---
 drivers/mtd/Kconfig          |  1 +
 drivers/mtd/nand/raw/Kconfig | 14 +++++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index f561b07e40b9..5d12dd3c7323 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -222,6 +222,7 @@ config SYS_MAX_FLASH_SECT
 
 config SAMSUNG_ONENAND
 	bool "Samsung OneNAND driver support"
+	depends on S5P
 
 config USE_SYS_MAX_FLASH_BANKS
 	bool "Enable Max number of Flash memory banks"
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index 492b577709d0..aa4bb2a0595c 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -49,6 +49,7 @@ config SYS_NAND_NO_SUBPAGE_WRITE
 
 config DM_NAND_ATMEL
 	bool "Support Atmel NAND controller with DM support"
+	depends on ARCH_AT91
 	select SYS_NAND_SELF_INIT
 	imply SYS_NAND_USE_FLASH_BBT
 	help
@@ -57,6 +58,7 @@ config DM_NAND_ATMEL
 
 config NAND_ATMEL
 	bool "Support Atmel NAND controller"
+	depends on ARCH_AT91
 	select SYS_NAND_SELF_INIT
 	imply SYS_NAND_USE_FLASH_BBT
 	help
@@ -114,6 +116,7 @@ endif
 config NAND_BRCMNAND
 	bool "Support Broadcom NAND controller"
 	depends on OF_CONTROL && DM && DM_MTD
+	depends on ARCH_BCMBCA || ARCH_BMIPS || TARGET_BCMNS || TARGET_BCMNS3
 	select SYS_NAND_SELF_INIT
 	help
 	  Enable the driver for NAND flash on platforms using a Broadcom NAND
@@ -147,6 +150,7 @@ config NAND_BRCMNAND_IPROC
 
 config NAND_DAVINCI
 	bool "Support TI Davinci NAND controller"
+	depends on ARCH_DAVINCI || ARCH_KEYSTONE
 	select SYS_NAND_SELF_INIT if TARGET_DA850EVM
 	help
 	  Enable this driver for NAND flash controllers available in TI Davinci
@@ -191,7 +195,7 @@ config SPL_NAND_LOAD
 
 config NAND_CADENCE
 	bool "Support Cadence NAND controller as a DT device"
-	depends on OF_CONTROL && DM_MTD
+	depends on OF_CONTROL && DM_MTD && ARCH_SOCFPGA
 	select SYS_NAND_SELF_INIT
 	select SPL_SYS_NAND_SELF_INIT
 	select SPL_NAND_BASE
@@ -233,6 +237,7 @@ config NAND_FSL_ELBC_DT
 
 config NAND_FSL_IFC
 	bool "Support Freescale Integrated Flash Controller NAND driver"
+	depends on ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 || PPC
 	select TPL_SYS_NAND_SELF_INIT if TPL_NAND_SUPPORT
 	select TPL_NAND_INIT if TPL && !TPL_FRAMEWORK
 	select SPL_SYS_NAND_SELF_INIT
@@ -256,13 +261,14 @@ config NAND_KMETER1
 
 config NAND_LPC32XX_MLC
 	bool "Support LPC32XX_MLC controller"
+	depends on ARCH_LPC32XX
 	select SYS_NAND_SELF_INIT
 	help
 	  Enable the LPC32XX MLC NAND controller.
 
 config NAND_OMAP_GPMC
 	bool "Support OMAP GPMC NAND controller"
-	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
+	depends on ARCH_OMAP2PLUS || ARCH_K3
 	select SYS_NAND_SELF_INIT if ARCH_K3
 	select SPL_NAND_INIT if ARCH_K3
 	select SPL_SYS_NAND_SELF_INIT if ARCH_K3
@@ -430,6 +436,7 @@ endif
 
 config NAND_PXA3XX
 	bool "Support for NAND on PXA3xx and Armada 370/XP/38x"
+	depends on ARCH_MVEBU
 	select SYS_NAND_SELF_INIT
 	select DM_MTD
 	select REGMAP
@@ -489,7 +496,7 @@ endif
 config NAND_ARASAN
 	bool "Configure Arasan Nand"
 	select SYS_NAND_SELF_INIT
-	depends on DM_MTD
+	depends on DM_MTD && ARCH_ZYNQMP
 	imply CMD_NAND
 	help
 	  This enables Nand driver support for Arasan nand flash
@@ -552,6 +559,7 @@ endif
 
 config NAND_ZYNQ
 	bool "Support for Zynq Nand controller"
+	depends on ARCH_ZYNQ
 	select SPL_SYS_NAND_SELF_INIT
 	select SYS_NAND_SELF_INIT
 	select DM_MTD
-- 
2.43.0



More information about the U-Boot mailing list