# SPDX-License-Identifier: GPL-2.0-only
menuconfig [31mCONFIG_MTD_SPI_NOR[0m
tristate "SPI-NOR device support"
depends on [31mCONFIG_MTD[0m
depends on [31mCONFIG_MTD[0m && [31mCONFIG_SPI_MASTER[0m
select [31mCONFIG_SPI_MEM[0m
help
This is the framework for the [31mCONFIG_SPI[0m NOR which can be used by the [31mCONFIG_SPI[0m
device drivers and the [31mCONFIG_SPI[0m-NOR device driver.
if [31mCONFIG_MTD_SPI_NOR[0m
config [31mCONFIG_MTD_SPI_NOR_USE_4K_SECTORS[0m
bool "Use small 4096 B erase sectors"
default y
help
Many flash memories support erasing small (4096 [31mCONFIG_B[0m) sectors. Depending
on the usage this feature may provide performance gain in comparison
to erasing whole blocks (32/64 KiB).
Changing a small part of the flash's contents is usually faster with
small sectors. On the other hand erasing should be faster when using
64 KiB block instead of 16 × 4 KiB sectors.
Please note that some tools/drivers/filesystems may not work with
4096 [31mCONFIG_B[0m erase size (e.g. UBIFS requires 15 KiB as a minimum).
config [31mCONFIG_SPI_ASPEED_SMC[0m
tristate "Aspeed flash controllers in SPI mode"
depends on [31mCONFIG_ARCH_ASPEED[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_HAS_IOMEM[0m && [31mCONFIG_OF[0m
help
This enables support for the Firmware Memory controller ([31mCONFIG_FMC[0m)
in the Aspeed AST2500/AST2400 SoCs when attached to [31mCONFIG_SPI[0m NOR chips,
and support for the [31mCONFIG_SPI[0m flash memory controller ([31mCONFIG_SPI[0m) for
the host firmware. The implementation only supports [31mCONFIG_SPI[0m NOR.
config [31mCONFIG_SPI_CADENCE_QUADSPI[0m
tristate "Cadence Quad SPI controller"
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARM[0m || [31mCONFIG_ARM64[0m || [31mCONFIG_COMPILE_TEST[0m)
help
Enable support for the Cadence Quad [31mCONFIG_SPI[0m Flash controller.
Cadence QSPI is a specialized controller for connecting an [31mCONFIG_SPI[0m
Flash over 1/2/4-bit wide bus. Enable this option if you have a
device with a Cadence QSPI controller and want to access the
Flash as an [31mCONFIG_MTD[0m device.
config [31mCONFIG_SPI_HISI_SFC[0m
tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
depends on [31mCONFIG_ARCH_HISI[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_HAS_IOMEM[0m
help
This enables support for hisilicon [31mCONFIG_SPI[0m-NOR flash controller.
config [31mCONFIG_SPI_MTK_QUADSPI[0m
tristate "MediaTek Quad SPI controller"
depends on [31mCONFIG_HAS_IOMEM[0m
help
This enables support for the Quad [31mCONFIG_SPI[0m controller in master mode.
This controller does not support generic [31mCONFIG_SPI[0m. It only supports
[31mCONFIG_SPI[0m NOR.
config [31mCONFIG_SPI_NXP_SPIFI[0m
tristate "NXP SPI Flash Interface (SPIFI)"
depends on [31mCONFIG_OF[0m && ([31mCONFIG_ARCH_LPC18XX[0m || [31mCONFIG_COMPILE_TEST[0m)
depends on [31mCONFIG_HAS_IOMEM[0m
help
Enable support for the NXP LPC [31mCONFIG_SPI[0m Flash Interface controller.
SPIFI is a specialized controller for connecting serial [31mCONFIG_SPI[0m
Flash. Enable this option if you have a device with a SPIFI
controller and want to access the Flash as a mtd device.
config [31mCONFIG_SPI_INTEL_SPI[0m
tristate
config [31mCONFIG_SPI_INTEL_SPI_PCI[0m
tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
depends on [31mCONFIG_X86[0m && [31mCONFIG_PCI[0m
select [31mCONFIG_SPI_INTEL_SPI[0m
help
This enables [31mCONFIG_PCI[0m support for the Intel PCH/PCU [31mCONFIG_SPI[0m controller in
master mode. This controller is present in modern Intel hardware
and is used to hold BIOS and other persistent settings. Using
this driver it is possible to upgrade BIOS directly from Linux.
Say N here unless you know what you are doing. Overwriting the
[31mCONFIG_SPI[0m flash may render the system unbootable.
To compile this driver as a module, choose [31mCONFIG_M[0m here: the module
will be called intel-spi-pci.
config [31mCONFIG_SPI_INTEL_SPI_PLATFORM[0m
tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
depends on [31mCONFIG_X86[0m
select [31mCONFIG_SPI_INTEL_SPI[0m
help
This enables platform support for the Intel PCH/PCU [31mCONFIG_SPI[0m
controller in master mode. This controller is present in modern
Intel hardware and is used to hold BIOS and other persistent
settings. Using this driver it is possible to upgrade BIOS
directly from Linux.
Say N here unless you know what you are doing. Overwriting the
[31mCONFIG_SPI[0m flash may render the system unbootable.
To compile this driver as a module, choose [31mCONFIG_M[0m here: the module
will be called intel-spi-platform.
endif # [31mCONFIG_MTD_SPI_NOR[0m