1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig MTD_SPI_NOR 3 tristate "SPI-NOR device support" 4 depends on MTD 5 help 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. 8 9if MTD_SPI_NOR 10 11config MTD_SPI_NOR_USE_4K_SECTORS 12 bool "Use small 4096 B erase sectors" 13 default y 14 help 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. 21 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). 24 25config SPI_ASPEED_SMC 26 tristate "Aspeed flash controllers in SPI mode" 27 depends on ARCH_ASPEED || COMPILE_TEST 28 depends on HAS_IOMEM && OF 29 help 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. 34 35config SPI_CADENCE_QUADSPI 36 tristate "Cadence Quad SPI controller" 37 depends on OF && (ARM || ARM64 || COMPILE_TEST) 38 help 39 Enable support for the Cadence Quad SPI Flash controller. 40 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. 45 46config SPI_HISI_SFC 47 tristate "Hisilicon SPI-NOR Flash Controller(SFC)" 48 depends on ARCH_HISI || COMPILE_TEST 49 depends on HAS_IOMEM 50 help 51 This enables support for hisilicon SPI-NOR flash controller. 52 53config SPI_MTK_QUADSPI 54 tristate "MediaTek Quad SPI controller" 55 depends on HAS_IOMEM 56 help 57 This enables support for the Quad SPI controller in master mode. 58 This controller does not support generic SPI. It only supports 59 SPI NOR. 60 61config SPI_NXP_SPIFI 62 tristate "NXP SPI Flash Interface (SPIFI)" 63 depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 64 depends on HAS_IOMEM 65 help 66 Enable support for the NXP LPC SPI Flash Interface controller. 67 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. 71 72config SPI_INTEL_SPI 73 tristate 74 75config SPI_INTEL_SPI_PCI 76 tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)" 77 depends on X86 && PCI 78 select SPI_INTEL_SPI 79 help 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. 84 85 Say N here unless you know what you are doing. Overwriting the 86 SPI flash may render the system unbootable. 87 88 To compile this driver as a module, choose M here: the module 89 will be called intel-spi-pci. 90 91config SPI_INTEL_SPI_PLATFORM 92 tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)" 93 depends on X86 94 select SPI_INTEL_SPI 95 help 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 100 directly from Linux. 101 102 Say N here unless you know what you are doing. Overwriting the 103 SPI flash may render the system unbootable. 104 105 To compile this driver as a module, choose M here: the module 106 will be called intel-spi-platform. 107 108endif # MTD_SPI_NOR 109