| # 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 |