1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "SPI-NOR device support"
6 This is the framework for the SPI NOR which can be used by the SPI
7 device drivers and the SPI-NOR device driver.
11 config MTD_SPI_NOR_USE_4K_SECTORS
12 bool "Use small 4096 B erase sectors"
15 Many flash memories support erasing small (4096 B) sectors. Depending
16 on the usage this feature may provide performance gain in comparison
17 to erasing whole blocks (32/64 KiB).
18 Changing a small part of the flash's contents is usually faster with
19 small sectors. On the other hand erasing should be faster when using
20 64 KiB block instead of 16 × 4 KiB sectors.
22 Please note that some tools/drivers/filesystems may not work with
23 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
26 tristate "Aspeed flash controllers in SPI mode"
27 depends on ARCH_ASPEED || COMPILE_TEST
28 depends on HAS_IOMEM && OF
30 This enables support for the Firmware Memory controller (FMC)
31 in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
32 and support for the SPI flash memory controller (SPI) for
33 the host firmware. The implementation only supports SPI NOR.
35 config SPI_CADENCE_QUADSPI
36 tristate "Cadence Quad SPI controller"
37 depends on OF && (ARM || ARM64 || COMPILE_TEST)
39 Enable support for the Cadence Quad SPI Flash controller.
41 Cadence QSPI is a specialized controller for connecting an SPI
42 Flash over 1/2/4-bit wide bus. Enable this option if you have a
43 device with a Cadence QSPI controller and want to access the
44 Flash as an MTD device.
47 tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
48 depends on ARCH_HISI || COMPILE_TEST
51 This enables support for hisilicon SPI-NOR flash controller.
53 config SPI_MTK_QUADSPI
54 tristate "MediaTek Quad SPI controller"
57 This enables support for the Quad SPI controller in master mode.
58 This controller does not support generic SPI. It only supports
62 tristate "NXP SPI Flash Interface (SPIFI)"
63 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
66 Enable support for the NXP LPC SPI Flash Interface controller.
68 SPIFI is a specialized controller for connecting serial SPI
69 Flash. Enable this option if you have a device with a SPIFI
70 controller and want to access the Flash as a mtd device.
75 config SPI_INTEL_SPI_PCI
76 tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
80 This enables PCI support for the Intel PCH/PCU SPI controller in
81 master mode. This controller is present in modern Intel hardware
82 and is used to hold BIOS and other persistent settings. Using
83 this driver it is possible to upgrade BIOS directly from Linux.
85 Say N here unless you know what you are doing. Overwriting the
86 SPI flash may render the system unbootable.
88 To compile this driver as a module, choose M here: the module
89 will be called intel-spi-pci.
91 config SPI_INTEL_SPI_PLATFORM
92 tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
96 This enables platform support for the Intel PCH/PCU SPI
97 controller in master mode. This controller is present in modern
98 Intel hardware and is used to hold BIOS and other persistent
99 settings. Using this driver it is possible to upgrade BIOS
102 Say N here unless you know what you are doing. Overwriting the
103 SPI flash may render the system unbootable.
105 To compile this driver as a module, choose M here: the module
106 will be called intel-spi-platform.
108 config SPI_STM32_QUADSPI
109 tristate "STM32 Quad SPI controller"
110 depends on ARCH_STM32 || COMPILE_TEST
112 This enables support for the STM32 Quad SPI controller.
113 We only connect the NOR to this controller.