mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-27 04:54:41 +08:00
b35b9a1036
The m25p80 driver is actually a generic wrapper around the spi-mem layer. Not only the driver name is misleading, but we'd expect such a common logic to be directly available in the core. Another reason for moving this code is that SPI NOR controller drivers should progressively be replaced by SPI controller drivers implementing the spi_mem_ops interface, and when the conversion is done, we should have a single spi-nor driver directly interfacing with the spi-mem layer. While moving the code we also fix a longstanding issue when non-DMA-able buffers are passed by the MTD layer. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
111 lines
3.8 KiB
Plaintext
111 lines
3.8 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
||
menuconfig MTD_SPI_NOR
|
||
tristate "SPI-NOR device support"
|
||
depends on MTD
|
||
depends on MTD && SPI_MASTER
|
||
select SPI_MEM
|
||
help
|
||
This is the framework for the SPI NOR which can be used by the SPI
|
||
device drivers and the SPI-NOR device driver.
|
||
|
||
if MTD_SPI_NOR
|
||
|
||
config MTD_SPI_NOR_USE_4K_SECTORS
|
||
bool "Use small 4096 B erase sectors"
|
||
default y
|
||
help
|
||
Many flash memories support erasing small (4096 B) 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 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
|
||
|
||
config SPI_ASPEED_SMC
|
||
tristate "Aspeed flash controllers in SPI mode"
|
||
depends on ARCH_ASPEED || COMPILE_TEST
|
||
depends on HAS_IOMEM && OF
|
||
help
|
||
This enables support for the Firmware Memory controller (FMC)
|
||
in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
|
||
and support for the SPI flash memory controller (SPI) for
|
||
the host firmware. The implementation only supports SPI NOR.
|
||
|
||
config SPI_CADENCE_QUADSPI
|
||
tristate "Cadence Quad SPI controller"
|
||
depends on OF && (ARM || ARM64 || COMPILE_TEST)
|
||
help
|
||
Enable support for the Cadence Quad SPI Flash controller.
|
||
|
||
Cadence QSPI is a specialized controller for connecting an SPI
|
||
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 MTD device.
|
||
|
||
config SPI_HISI_SFC
|
||
tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
|
||
depends on ARCH_HISI || COMPILE_TEST
|
||
depends on HAS_IOMEM
|
||
help
|
||
This enables support for hisilicon SPI-NOR flash controller.
|
||
|
||
config SPI_MTK_QUADSPI
|
||
tristate "MediaTek Quad SPI controller"
|
||
depends on HAS_IOMEM
|
||
help
|
||
This enables support for the Quad SPI controller in master mode.
|
||
This controller does not support generic SPI. It only supports
|
||
SPI NOR.
|
||
|
||
config SPI_NXP_SPIFI
|
||
tristate "NXP SPI Flash Interface (SPIFI)"
|
||
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
|
||
depends on HAS_IOMEM
|
||
help
|
||
Enable support for the NXP LPC SPI Flash Interface controller.
|
||
|
||
SPIFI is a specialized controller for connecting serial SPI
|
||
Flash. Enable this option if you have a device with a SPIFI
|
||
controller and want to access the Flash as a mtd device.
|
||
|
||
config SPI_INTEL_SPI
|
||
tristate
|
||
|
||
config SPI_INTEL_SPI_PCI
|
||
tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
|
||
depends on X86 && PCI
|
||
select SPI_INTEL_SPI
|
||
help
|
||
This enables PCI support for the Intel PCH/PCU SPI 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
|
||
SPI flash may render the system unbootable.
|
||
|
||
To compile this driver as a module, choose M here: the module
|
||
will be called intel-spi-pci.
|
||
|
||
config SPI_INTEL_SPI_PLATFORM
|
||
tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
|
||
depends on X86
|
||
select SPI_INTEL_SPI
|
||
help
|
||
This enables platform support for the Intel PCH/PCU SPI
|
||
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
|
||
SPI flash may render the system unbootable.
|
||
|
||
To compile this driver as a module, choose M here: the module
|
||
will be called intel-spi-platform.
|
||
|
||
endif # MTD_SPI_NOR
|