blob: f237fcdf7f861a509dc077c91b4698ecf5a9e1eb [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001# SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002menuconfig MTD_SPI_NOR
3 tristate "SPI-NOR device support"
4 depends on MTD
David Brazdil0f672f62019-12-10 10:32:29 +00005 depends on MTD && SPI_MASTER
6 select SPI_MEM
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00007 help
8 This is the framework for the SPI NOR which can be used by the SPI
9 device drivers and the SPI-NOR device driver.
10
11if MTD_SPI_NOR
12
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000013config MTD_SPI_NOR_USE_4K_SECTORS
14 bool "Use small 4096 B erase sectors"
15 default y
16 help
17 Many flash memories support erasing small (4096 B) sectors. Depending
18 on the usage this feature may provide performance gain in comparison
19 to erasing whole blocks (32/64 KiB).
20 Changing a small part of the flash's contents is usually faster with
21 small sectors. On the other hand erasing should be faster when using
22 64 KiB block instead of 16 × 4 KiB sectors.
23
24 Please note that some tools/drivers/filesystems may not work with
25 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
26
27config SPI_ASPEED_SMC
28 tristate "Aspeed flash controllers in SPI mode"
29 depends on ARCH_ASPEED || COMPILE_TEST
30 depends on HAS_IOMEM && OF
31 help
32 This enables support for the Firmware Memory controller (FMC)
33 in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
34 and support for the SPI flash memory controller (SPI) for
35 the host firmware. The implementation only supports SPI NOR.
36
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000037config SPI_CADENCE_QUADSPI
38 tristate "Cadence Quad SPI controller"
39 depends on OF && (ARM || ARM64 || COMPILE_TEST)
40 help
41 Enable support for the Cadence Quad SPI Flash controller.
42
43 Cadence QSPI is a specialized controller for connecting an SPI
44 Flash over 1/2/4-bit wide bus. Enable this option if you have a
45 device with a Cadence QSPI controller and want to access the
46 Flash as an MTD device.
47
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000048config SPI_HISI_SFC
49 tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
50 depends on ARCH_HISI || COMPILE_TEST
51 depends on HAS_IOMEM
52 help
53 This enables support for hisilicon SPI-NOR flash controller.
54
David Brazdil0f672f62019-12-10 10:32:29 +000055config SPI_MTK_QUADSPI
56 tristate "MediaTek Quad SPI controller"
57 depends on HAS_IOMEM
58 help
59 This enables support for the Quad SPI controller in master mode.
60 This controller does not support generic SPI. It only supports
61 SPI NOR.
62
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000063config SPI_NXP_SPIFI
64 tristate "NXP SPI Flash Interface (SPIFI)"
65 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
66 depends on HAS_IOMEM
67 help
68 Enable support for the NXP LPC SPI Flash Interface controller.
69
70 SPIFI is a specialized controller for connecting serial SPI
71 Flash. Enable this option if you have a device with a SPIFI
72 controller and want to access the Flash as a mtd device.
73
74config SPI_INTEL_SPI
75 tristate
76
77config SPI_INTEL_SPI_PCI
78 tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)"
79 depends on X86 && PCI
80 select SPI_INTEL_SPI
81 help
82 This enables PCI support for the Intel PCH/PCU SPI controller in
83 master mode. This controller is present in modern Intel hardware
84 and is used to hold BIOS and other persistent settings. Using
85 this driver it is possible to upgrade BIOS directly from Linux.
86
87 Say N here unless you know what you are doing. Overwriting the
88 SPI flash may render the system unbootable.
89
90 To compile this driver as a module, choose M here: the module
91 will be called intel-spi-pci.
92
93config SPI_INTEL_SPI_PLATFORM
94 tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
95 depends on X86
96 select SPI_INTEL_SPI
97 help
98 This enables platform support for the Intel PCH/PCU SPI
99 controller in master mode. This controller is present in modern
100 Intel hardware and is used to hold BIOS and other persistent
101 settings. Using this driver it is possible to upgrade BIOS
102 directly from Linux.
103
104 Say N here unless you know what you are doing. Overwriting the
105 SPI flash may render the system unbootable.
106
107 To compile this driver as a module, choose M here: the module
108 will be called intel-spi-platform.
109
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000110endif # MTD_SPI_NOR