blob: 293c8a4d1e49660717736d2a951d7f851be1a651 [file] [log] [blame]
Brian Norris8ac326f2014-04-10 11:05:34 -07001menuconfig MTD_SPI_NOR
2 tristate "SPI-NOR device support"
Huang Shijieb1994892014-02-24 18:37:37 +08003 depends on MTD
4 help
5 This is the framework for the SPI NOR which can be used by the SPI
6 device drivers and the SPI-NOR device driver.
Brian Norrise43b2062014-04-08 20:30:25 -07007
8if MTD_SPI_NOR
9
Bayi Cheng3ce351b2015-11-18 11:30:02 +080010config MTD_MT81xx_NOR
11 tristate "Mediatek MT81xx SPI NOR flash controller"
Richard Weinberger15c0be72016-01-25 23:24:10 +010012 depends on HAS_IOMEM
Bayi Cheng3ce351b2015-11-18 11:30:02 +080013 help
14 This enables access to SPI NOR flash, using MT81xx SPI NOR flash
15 controller. This controller does not support generic SPI BUS, it only
16 supports SPI NOR Flash.
17
Rafał Miłecki57cf26c2014-08-17 11:27:26 +020018config MTD_SPI_NOR_USE_4K_SECTORS
19 bool "Use small 4096 B erase sectors"
20 default y
21 help
22 Many flash memories support erasing small (4096 B) sectors. Depending
23 on the usage this feature may provide performance gain in comparison
24 to erasing whole blocks (32/64 KiB).
25 Changing a small part of the flash's contents is usually faster with
26 small sectors. On the other hand erasing should be faster when using
27 64 KiB block instead of 16 × 4 KiB sectors.
28
29 Please note that some tools/drivers/filesystems may not work with
30 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
31
Cédric Le Goaterceb720c2016-12-21 17:57:17 +010032config SPI_ASPEED_SMC
33 tristate "Aspeed flash controllers in SPI mode"
34 depends on ARCH_ASPEED || COMPILE_TEST
35 depends on HAS_IOMEM && OF
36 help
37 This enables support for the Firmware Memory controller (FMC)
Cédric Le Goatere56beeb2016-12-21 17:57:18 +010038 in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips,
Cédric Le Goaterceb720c2016-12-21 17:57:17 +010039 and support for the SPI flash memory controller (SPI) for
40 the host firmware. The implementation only supports SPI NOR.
41
Cyrille Pitchen161aaab2016-06-13 17:10:26 +020042config SPI_ATMEL_QUADSPI
43 tristate "Atmel Quad SPI Controller"
44 depends on ARCH_AT91 || (ARM && COMPILE_TEST)
45 depends on OF && HAS_IOMEM
46 help
47 This enables support for the Quad SPI controller in master mode.
48 This driver does not support generic SPI. The implementation only
49 supports SPI NOR.
50
Graham Moore14062342016-06-04 02:39:34 +020051config SPI_CADENCE_QUADSPI
52 tristate "Cadence Quad SPI controller"
Marek Vasut0cf17252016-08-02 15:10:47 +020053 depends on OF && (ARM || COMPILE_TEST)
Graham Moore14062342016-06-04 02:39:34 +020054 help
55 Enable support for the Cadence Quad SPI Flash controller.
56
57 Cadence QSPI is a specialized controller for connecting an SPI
58 Flash over 1/2/4-bit wide bus. Enable this option if you have a
59 device with a Cadence QSPI controller and want to access the
60 Flash as an MTD device.
61
Huang Shijiee46ecda2014-02-24 18:37:42 +080062config SPI_FSL_QUADSPI
63 tristate "Freescale Quad SPI controller"
Yao Yuana578c4f2016-01-26 15:23:57 +080064 depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
Brian Norrisd26a22d2015-10-12 13:35:16 -070065 depends on HAS_IOMEM
Huang Shijiee46ecda2014-02-24 18:37:42 +080066 help
67 This enables support for the Quad SPI controller in master mode.
Fabio Estevam842c12d2015-08-13 14:02:05 -030068 This controller does not support generic SPI. It only supports
69 SPI NOR.
Brian Norrise43b2062014-04-08 20:30:25 -070070
Jiancheng Xuee523f112016-06-28 15:48:19 +080071config SPI_HISI_SFC
72 tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
73 depends on ARCH_HISI || COMPILE_TEST
74 depends on HAS_IOMEM && HAS_DMA
75 help
76 This enables support for hisilicon SPI-NOR flash controller.
77
Joachim Eastwoodf617b952015-08-13 19:19:40 +020078config SPI_NXP_SPIFI
79 tristate "NXP SPI Flash Interface (SPIFI)"
80 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
81 depends on HAS_IOMEM
82 help
83 Enable support for the NXP LPC SPI Flash Interface controller.
84
85 SPIFI is a specialized controller for connecting serial SPI
86 Flash. Enable this option if you have a device with a SPIFI
87 controller and want to access the Flash as a mtd device.
88
Mika Westerberg8afda8b2016-11-28 15:06:24 +030089config SPI_INTEL_SPI
90 tristate
91
92config SPI_INTEL_SPI_PLATFORM
93 tristate "Intel PCH/PCU SPI flash platform driver" if EXPERT
94 depends on X86
95 select SPI_INTEL_SPI
96 help
97 This enables platform support for the Intel PCH/PCU SPI
98 controller in master mode. This controller is present in modern
99 Intel hardware and is used to hold BIOS and other persistent
100 settings. Using this driver it is possible to upgrade BIOS
101 directly from Linux.
102
103 Say N here unless you know what you are doing. Overwriting the
104 SPI flash may render the system unbootable.
105
106 To compile this driver as a module, choose M here: the module
107 will be called intel-spi-platform.
108
Ludovic Barre0d43d7a2017-04-13 19:15:57 +0200109config SPI_STM32_QUADSPI
110 tristate "STM32 Quad SPI controller"
Brian Norrisddd05032017-05-01 18:13:00 -0700111 depends on ARCH_STM32 || COMPILE_TEST
Ludovic Barre0d43d7a2017-04-13 19:15:57 +0200112 help
113 This enables support for the STM32 Quad SPI controller.
114 We only connect the NOR to this controller.
115
Brian Norrise43b2062014-04-08 20:30:25 -0700116endif # MTD_SPI_NOR