mtd: spi-nor: Add macro definition constraints

Change-Id: I3b35faaea4fad132be18940328e7df88ebdb0dbd
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This commit is contained in:
Jon Lin
2024-11-27 16:10:14 +08:00
committed by Tao Huang
parent 7c8198aa9a
commit f965b5da7c
4 changed files with 217 additions and 22 deletions

View File

@@ -76,5 +76,6 @@ config MTD_SPI_NOR_SWP_KEEP
endchoice
source "drivers/mtd/spi-nor/controllers/Kconfig"
source "drivers/mtd/spi-nor/Kconfig.spinorlist"
endif # MTD_SPI_NOR

View File

@@ -0,0 +1,148 @@
# SPDX-License-Identifier: GPL-2.0-only
if MTD_SPI_NOR
config MTD_SPI_NOR_DEVICE_AUTOSELECT
bool "Autoselect SPI Nor flash"
default y
help
By default, auto-selects all SPI Nor flash chips.
menu "SPI Nor flash"
visible if !MTD_SPI_NOR_DEVICE_AUTOSELECT
config MTD_SPI_NOR_ATMEL
bool "Atmel SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
config MTD_SPI_NOR_BOYA
bool "BOYA SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various BOYA SPI flash chips (BY25xxx)
config MTD_SPI_NOR_CATALYST
bool "CATALYST SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various CATALYST SPI flash chips (cat25xxx)
config MTD_SPI_NOR_DOSILICON
bool "DOSILICON SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various DOSILICON SPI flash chips (FM25xxx)
config MTD_SPI_NOR_EON
bool "EON SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various EON SPI flash chips (EN25xxx)
config MTD_SPI_NOR_ESMT
bool "ESMT SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various ESMT SPI flash chips (F25xxx and EN25)
config MTD_SPI_NOR_EVERSPIN
bool "EVERSPIN SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various EVERSPIN SPI flash chips (mrxxx)
config MTD_SPI_NOR_FMSH
bool "FMSH SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various FMSH SPI flash chips (FM25xxx)
config MTD_SPI_NOR_FUJITSU
bool "FUJITSU SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various FUJITSU SPI flash chips (MB85xxx)
config MTD_SPI_NOR_GIGADEVICE
bool "GigaDevice SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various GigaDevice SPI flash chips (GD25xxx)
config MTD_SPI_NOR_INTEL
bool "INTEL SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various INTEL SPI flash chips
config MTD_SPI_NOR_ISSI
bool "ISSI SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various ISSI SPI flash chips (ISxxx)
config MTD_SPI_NOR_MACRONIX
bool "Macronix SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various Macronix SPI flash chips (MX25Lxxx)
config MTD_SPI_NOR_NORMEM
bool "NORMEM SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various NORMEM SPI flash chips (NM25xxx)
config MTD_SPI_NOR_PUYA
bool "PUYA SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various PUYA SPI flash chips (PY25xxx)
config MTD_SPI_NOR_SPANSION
bool "Spansion SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various Spansion SPI flash chips (S25FLxxx)
config MTD_SPI_NOR_STMICRO
bool "STMicro SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
config MTD_SPI_NOR_SST
bool "SST SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various SST SPI flash chips (SST25xxx)
config MTD_SPI_NOR_WINBOND
bool "Winbond SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various WINBOND SPI flash chips (W25xxx)
config MTD_SPI_NOR_XILINX
bool "XILINX SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various XILINX SPI flash chips (3Sxxx)
config MTD_SPI_NOR_XMC
bool "XMC SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various XMC SPI flash chips (XM25xxx)
config MTD_SPI_NOR_XTX
bool "XTX SPI flash support"
default y if MTD_SPI_NOR_DEVICE_AUTOSELECT
help
Add support for various XTX SPI flash chips (XT25xxx)
endmenu
endif # MTD_SPI_NOR

View File

@@ -1,28 +1,28 @@
# SPDX-License-Identifier: GPL-2.0
spi-nor-objs := core.o sfdp.o swp.o otp.o sysfs.o
spi-nor-objs += atmel.o
spi-nor-objs += boya.o
spi-nor-objs += catalyst.o
spi-nor-objs += dosilicon.o
spi-nor-objs += eon.o
spi-nor-objs += esmt.o
spi-nor-objs += everspin.o
spi-nor-objs += fmsh.o
spi-nor-objs += fujitsu.o
spi-nor-objs += gigadevice.o
spi-nor-objs += normem.o
spi-nor-objs += intel.o
spi-nor-objs += issi.o
spi-nor-objs += macronix.o
spi-nor-objs += micron-st.o
spi-nor-objs += puya.o
spi-nor-objs += spansion.o
spi-nor-objs += sst.o
spi-nor-objs += winbond.o
spi-nor-objs += xilinx.o
spi-nor-objs += xmc.o
spi-nor-objs += xtx.o
spi-nor-$(CONFIG_MTD_SPI_NOR_ATMEL) += atmel.o
spi-nor-$(CONFIG_MTD_SPI_NOR_BOYA) += boya.o
spi-nor-$(CONFIG_MTD_SPI_NOR_CATALYST) += catalyst.o
spi-nor-$(CONFIG_MTD_SPI_NOR_DOSILICON) += dosilicon.o
spi-nor-$(CONFIG_MTD_SPI_NOR_EON) += eon.o
spi-nor-$(CONFIG_MTD_SPI_NOR_ESMT) += esmt.o
spi-nor-$(CONFIG_MTD_SPI_NOR_EVERSPIN) += everspin.o
spi-nor-$(CONFIG_MTD_SPI_NOR_FMSH) += fmsh.o
spi-nor-$(CONFIG_MTD_SPI_NOR_FUJITSU) += fujitsu.o
spi-nor-$(CONFIG_MTD_SPI_NOR_GIGADEVICE) += gigadevice.o
spi-nor-$(CONFIG_MTD_SPI_NOR_INTEL) += intel.o
spi-nor-$(CONFIG_MTD_SPI_NOR_ISSI) += issi.o
spi-nor-$(CONFIG_MTD_SPI_NOR_MACRONIX) += macronix.o
spi-nor-$(CONFIG_MTD_SPI_NOR_STMICRO) += micron-st.o
spi-nor-$(CONFIG_MTD_SPI_NOR_NORMEM) += normem.o
spi-nor-$(CONFIG_MTD_SPI_NOR_PUYA) += puya.o
spi-nor-$(CONFIG_MTD_SPI_NOR_SPANSION) += spansion.o
spi-nor-$(CONFIG_MTD_SPI_NOR_SST) += sst.o
spi-nor-$(CONFIG_MTD_SPI_NOR_WINBOND) += winbond.o
spi-nor-$(CONFIG_MTD_SPI_NOR_XILINX) += xilinx.o
spi-nor-$(CONFIG_MTD_SPI_NOR_XMC) += xmc.o
spi-nor-$(CONFIG_MTD_SPI_NOR_XTX) += xtx.o
spi-nor-$(CONFIG_DEBUG_FS) += debugfs.o
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o

View File

@@ -1753,29 +1753,75 @@ int spi_nor_sr2_bit2_quad_enable(struct spi_nor *nor)
}
static const struct spi_nor_manufacturer *manufacturers[] = {
#ifdef CONFIG_MTD_SPI_NOR_ATMEL
&spi_nor_atmel,
#endif
#ifdef CONFIG_MTD_SPI_NOR_BOYA
&spi_nor_boya,
#endif
#ifdef CONFIG_MTD_SPI_NOR_CATALYST
&spi_nor_catalyst,
#endif
#ifdef CONFIG_MTD_SPI_NOR_DOSILICON
&spi_nor_dosilicon,
#endif
#ifdef CONFIG_MTD_SPI_NOR_EON
&spi_nor_eon,
#endif
#ifdef CONFIG_MTD_SPI_NOR_ESMT
&spi_nor_esmt,
#endif
#ifdef CONFIG_MTD_SPI_NOR_EVERSPIN
&spi_nor_everspin,
#endif
#ifdef CONFIG_MTD_SPI_NOR_FMSH
&spi_nor_fmsh,
#endif
#ifdef CONFIG_MTD_SPI_NOR_FUJITSU
&spi_nor_fujitsu,
#endif
#ifdef CONFIG_MTD_SPI_NOR_GIGADEVICE
&spi_nor_gigadevice,
#endif
#ifdef CONFIG_MTD_SPI_NOR_NORMEM
&spi_nor_normem,
#endif
#ifdef CONFIG_MTD_SPI_NOR_INTEL
&spi_nor_intel,
#endif
#ifdef CONFIG_MTD_SPI_NOR_ISSI
&spi_nor_issi,
#endif
#ifdef CONFIG_MTD_SPI_NOR_MACRONIX
&spi_nor_macronix,
#endif
#ifdef CONFIG_MTD_SPI_NOR_STMICRO
&spi_nor_micron,
#endif
#ifdef CONFIG_MTD_SPI_NOR_PUYA
&spi_nor_puya,
#endif
#ifdef CONFIG_MTD_SPI_NOR_STMICRO
&spi_nor_st,
#endif
#ifdef CONFIG_MTD_SPI_NOR_SPANSION
&spi_nor_spansion,
#endif
#ifdef CONFIG_MTD_SPI_NOR_SST
&spi_nor_sst,
#endif
#ifdef CONFIG_MTD_SPI_NOR_WINBOND
&spi_nor_winbond,
#endif
#ifdef CONFIG_MTD_SPI_NOR_XILINX
&spi_nor_xilinx,
#endif
#ifdef CONFIG_MTD_SPI_NOR_XMC
&spi_nor_xmc,
#endif
#ifdef CONFIG_MTD_SPI_NOR_XTX
&spi_nor_xtx,
#endif
};
static const struct flash_info *spi_nor_match_id(struct spi_nor *nor,