Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / drivers / mtd / maps / Kconfig
blob6650acbc961e972089aa97fdf56f90b987075a71
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Mapping drivers for chip access"
3         depends on MTD!=n
4         depends on HAS_IOMEM
6 config MTD_COMPLEX_MAPPINGS
7         bool "Support non-linear mappings of flash chips"
8         help
9           This causes the chip drivers to allow for complicated
10           paged mappings of flash chips.
12 config MTD_PHYSMAP
13         tristate "Flash device in physical memory map"
14         depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR
15         help
16           This provides a 'mapping' driver which allows the NOR Flash and
17           ROM driver code to communicate with chips which are mapped
18           physically into the CPU's memory. You will need to configure
19           the physical address and size of the flash chips on your
20           particular board as well as the bus width, either statically
21           with config options or at run-time.
23           To compile this driver as a module, choose M here: the
24           module will be called physmap.
26 config MTD_PHYSMAP_COMPAT
27         bool "Physmap compat support"
28         depends on MTD_PHYSMAP
29         default n
30         help
31           Setup a simple mapping via the Kconfig options.  Normally the
32           physmap configuration options are done via your board's
33           resource file.
35           If unsure, say N here.
37 config MTD_PHYSMAP_START
38         hex "Physical start address of flash mapping"
39         depends on MTD_PHYSMAP_COMPAT
40         default "0x8000000"
41         help
42           This is the physical memory location at which the flash chips
43           are mapped on your particular target board. Refer to the
44           memory map which should hopefully be in the documentation for
45           your board.
47 config MTD_PHYSMAP_LEN
48         hex "Physical length of flash mapping"
49         depends on MTD_PHYSMAP_COMPAT
50         default "0"
51         help
52           This is the total length of the mapping of the flash chips on
53           your particular board. If there is space, or aliases, in the
54           physical memory map between the chips, this could be larger
55           than the total amount of flash present. Refer to the memory
56           map which should hopefully be in the documentation for your
57           board.
59 config MTD_PHYSMAP_BANKWIDTH
60         int "Bank width in octets"
61         depends on MTD_PHYSMAP_COMPAT
62         default "2"
63         help
64           This is the total width of the data bus of the flash devices
65           in octets. For example, if you have a data bus width of 32
66           bits, you would set the bus width octet value to 4. This is
67           used internally by the CFI drivers.
69 config MTD_PHYSMAP_OF
70         bool "Memory device in physical memory map based on OF description"
71         depends on OF && MTD_PHYSMAP
72         help
73           This provides a 'mapping' driver which allows the NOR Flash, ROM
74           and RAM driver code to communicate with chips which are mapped
75           physically into the CPU's memory. The mapping description here is
76           taken from OF device tree.
78 config MTD_PHYSMAP_BT1_ROM
79         bool "Baikal-T1 Boot ROMs OF-based physical memory map handling"
80         depends on MTD_PHYSMAP_OF
81         depends on MIPS_BAIKAL_T1 || COMPILE_TEST
82         select MTD_COMPLEX_MAPPINGS
83         select MULTIPLEXER
84         select MUX_MMIO
85         help
86           This provides some extra DT physmap parsing for the Baikal-T1
87           platforms, some detection and setting up ROMs-specific accessors.
89 config MTD_PHYSMAP_VERSATILE
90         bool "ARM Versatile OF-based physical memory map handling"
91         depends on MTD_PHYSMAP_OF
92         depends on MFD_SYSCON
93         default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW)
94         help
95           This provides some extra DT physmap parsing for the ARM Versatile
96           platforms, basically to add a VPP (write protection) callback so
97           the flash can be taken out of write protection.
99 config MTD_PHYSMAP_GEMINI
100         bool "Cortina Gemini OF-based physical memory map handling"
101         depends on MTD_PHYSMAP_OF
102         depends on MFD_SYSCON
103         select MTD_COMPLEX_MAPPINGS
104         default ARCH_GEMINI
105         help
106           This provides some extra DT physmap parsing for the Gemini
107           platforms, some detection and setting up parallel mode on the
108           external interface.
110 config MTD_PHYSMAP_IXP4XX
111         bool "Intel IXP4xx OF-based physical memory map handling"
112         depends on MTD_PHYSMAP_OF
113         depends on ARM
114         select MTD_COMPLEX_MAPPINGS
115         select MTD_CFI_BE_BYTE_SWAP if CPU_BIG_ENDIAN
116         default ARCH_IXP4XX
117         help
118           This provides some extra DT physmap parsing for the Intel IXP4xx
119           platforms, some elaborate endianness handling in particular.
121 config MTD_PHYSMAP_GPIO_ADDR
122         bool "GPIO-assisted Flash Chip Support"
123         depends on MTD_PHYSMAP
124         depends on GPIOLIB || COMPILE_TEST
125         depends on MTD_COMPLEX_MAPPINGS
126         help
127           Extend the physmap driver to allow flashes to be partially
128           physically addressed and assisted by GPIOs.
130 config MTD_PMC_MSP_EVM
131         tristate "CFI Flash device mapped on PMC-Sierra MSP"
132         depends on PMC_MSP && MTD_CFI
133         help
134           This provides a 'mapping' driver which supports the way
135           in which user-programmable flash chips are connected on the
136           PMC-Sierra MSP eval/demo boards.
138 choice
139         prompt "Maximum mappable memory available for flash IO"
140         depends on MTD_PMC_MSP_EVM
141         default MSP_FLASH_MAP_LIMIT_32M
143 config MSP_FLASH_MAP_LIMIT_32M
144         bool "32M"
146 endchoice
148 config MSP_FLASH_MAP_LIMIT
149         hex
150         default "0x02000000"
151         depends on MSP_FLASH_MAP_LIMIT_32M
153 config MTD_SUN_UFLASH
154         tristate "Sun Microsystems userflash support"
155         depends on SPARC && MTD_CFI && PCI
156         help
157           This provides a 'mapping' driver which supports the way in
158           which user-programmable flash chips are connected on various
159           Sun Microsystems boardsets.  This driver will require CFI support
160           in the kernel, so if you did not enable CFI previously, do that now.
162 config MTD_SC520CDP
163         tristate "CFI Flash device mapped on AMD SC520 CDP"
164         depends on (MELAN || COMPILE_TEST) && MTD_CFI
165         help
166           The SC520 CDP board has two banks of CFI-compliant chips and one
167           Dual-in-line JEDEC chip. This 'mapping' driver supports that
168           arrangement, implementing three MTD devices.
170 config MTD_NETSC520
171         tristate "CFI Flash device mapped on AMD NetSc520"
172         depends on (MELAN || COMPILE_TEST) && MTD_CFI
173         help
174           This enables access routines for the flash chips on the AMD NetSc520
175           demonstration board. If you have one of these boards and would like
176           to use the flash chips on it, say 'Y'.
178 config MTD_TS5500
179         tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
180         depends on TS5500 || COMPILE_TEST
181         select MTD_JEDECPROBE
182         select MTD_CFI_AMDSTD
183         help
184           This provides a driver for the on-board flash of the Technologic
185           System's TS-5500 board. The 2MB flash is split into 3 partitions
186           which are accessed as separate MTD devices.
188           mtd0 and mtd2 are the two BIOS drives, which use the resident
189           flash disk (RFD) flash translation layer.
191           mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
193           Note that jumper 3 ("Write Enable Drive A") must be set
194           otherwise detection won't succeed.
196 config MTD_SBC_GXX
197         tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
198         depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
199         help
200           This provides a driver for the on-board flash of Arcom Control
201           Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
202           By default the flash is split into 3 partitions which are accessed
203           as separate MTD devices. This board utilizes Intel StrataFlash.
204           More info at
205           <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
207 config MTD_PXA2XX
208         tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
209         depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
210         help
211           This provides a driver for the NOR flash attached to a PXA2xx chip.
213 config MTD_SCx200_DOCFLASH
214         tristate "Flash device mapped with DOCCS on NatSemi SCx200"
215         depends on SCx200 && MTD_CFI
216         help
217           Enable support for a flash chip mapped using the DOCCS signal on a
218           National Semiconductor SCx200 processor.
220           If you don't know what to do here, say N.
222           If compiled as a module, it will be called scx200_docflash.
224 config MTD_AMD76XROM
225         tristate "BIOS flash chip on AMD76x southbridge"
226         depends on X86 && MTD_JEDECPROBE
227         help
228           Support for treating the BIOS flash chip on AMD76x motherboards
229           as an MTD device - with this you can reprogram your BIOS.
231           BE VERY CAREFUL.
233 config MTD_ICHXROM
234         tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
235         depends on X86 && MTD_JEDECPROBE
236         help
237           Support for treating the BIOS flash chip on ICHX motherboards
238           as an MTD device - with this you can reprogram your BIOS.
240           BE VERY CAREFUL.
242 config MTD_ESB2ROM
243         tristate "BIOS flash chip on Intel ESB Controller Hub 2"
244         depends on X86 && MTD_JEDECPROBE && PCI
245         help
246           Support for treating the BIOS flash chip on ESB2 motherboards
247           as an MTD device - with this you can reprogram your BIOS.
249           BE VERY CAREFUL.
251 config MTD_CK804XROM
252         tristate "BIOS flash chip on Nvidia CK804"
253         depends on X86 && MTD_JEDECPROBE && PCI
254         help
255           Support for treating the BIOS flash chip on nvidia motherboards
256           as an MTD device - with this you can reprogram your BIOS.
258           BE VERY CAREFUL.
260 config MTD_SCB2_FLASH
261         tristate "BIOS flash chip on Intel SCB2 boards"
262         depends on X86 && MTD_JEDECPROBE && PCI
263         help
264           Support for treating the BIOS flash chip on Intel SCB2 boards
265           as an MTD device - with this you can reprogram your BIOS.
267           BE VERY CAREFUL.
269 config MTD_TSUNAMI
270         tristate "Flash chips on Tsunami TIG bus"
271         depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
272         help
273           Support for the flash chip on Tsunami TIG bus.
275 config MTD_NETtel
276         tristate "CFI flash device on SnapGear/SecureEdge"
277         depends on X86 && MTD_JEDECPROBE
278         help
279           Support for flash chips on NETtel/SecureEdge/SnapGear boards.
281 config MTD_LANTIQ
282         tristate "Lantiq SoC NOR support"
283         depends on LANTIQ
284         help
285           Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
287 config MTD_L440GX
288         tristate "BIOS flash chip on Intel L440GX boards"
289         depends on X86 && MTD_JEDECPROBE
290         help
291           Support for treating the BIOS flash chip on Intel L440GX motherboards
292           as an MTD device - with this you can reprogram your BIOS.
294           BE VERY CAREFUL.
296 config MTD_CFI_FLAGADM
297         tristate "CFI Flash device mapping on FlagaDM"
298         depends on PPC_8xx && MTD_CFI
299         help
300           Mapping for the Flaga digital module. If you don't have one, ignore
301           this setting.
303 config MTD_SOLUTIONENGINE
304         tristate "CFI Flash device mapped on Hitachi SolutionEngine"
305         depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
306         help
307           This enables access to the flash chips on the Hitachi SolutionEngine and
308           similar boards. Say 'Y' if you are building a kernel for such a board.
310 config MTD_SA1100
311         tristate "CFI Flash device mapped on StrongARM SA11x0"
312         depends on MTD_CFI && ARCH_SA1100
313         help
314           This enables access to the flash chips on most platforms based on
315           the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
316           If you have such a board, say 'Y'.
318 config MTD_DC21285
319         tristate "CFI Flash device mapped on DC21285 Footbridge"
320         depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
321         help
322           This provides a driver for the flash accessed using Intel's
323           21285 bridge used with Intel's StrongARM processors. More info at
324           <https://www.intel.com/design/bridge/docs/21285_documentation.htm>.
326 config MTD_IXP4XX
327         tristate "CFI Flash device mapped on Intel IXP4xx based systems"
328         depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
329         help
330           This enables MTD access to flash devices on platforms based
331           on Intel's IXP4xx family of network processors such as the
332           IXDP425 and Coyote. If you have an IXP4xx based board and
333           would like to use the flash chips on it, say 'Y'.
335 config MTD_IMPA7
336         tristate "JEDEC Flash device mapped on impA7"
337         depends on ARM && MTD_JEDECPROBE
338         help
339           This enables access to the NOR Flash on the impA7 board of
340           implementa GmbH. If you have such a board, say 'Y' here.
342 # This needs CFI or JEDEC, depending on the cards found.
343 config MTD_PCI
344         tristate "PCI MTD driver"
345         depends on PCI && MTD_COMPLEX_MAPPINGS
346         help
347           Mapping for accessing flash devices on add-in cards like the Intel XScale
348           IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
349           (please see the manual for the link settings).
351           If you are not sure, say N.
353 config MTD_PCMCIA
354         tristate "PCMCIA MTD driver"
355         depends on PCMCIA && MTD_COMPLEX_MAPPINGS
356         help
357           Map driver for accessing PCMCIA linear flash memory cards. These
358           cards are usually around 4-16MiB in size. This does not include
359           Compact Flash cards which are treated as IDE devices.
361 config MTD_PCMCIA_ANONYMOUS
362         bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
363         depends on MTD_PCMCIA
364         help
365           If this option is enabled, PCMCIA cards which do not report
366           anything about themselves are assumed to be MTD cards.
368           If unsure, say N.
370 config MTD_UCLINUX
371         bool "Generic uClinux RAM/ROM filesystem support"
372         depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
373         help
374           Map driver to support image based filesystems for uClinux.
376 config MTD_INTEL_VR_NOR
377         tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
378         depends on PCI
379         help
380           Map driver for a NOR flash bank located on the Expansion Bus of the
381           Intel Vermilion Range chipset.
383 config MTD_RBTX4939
384         tristate "Map driver for RBTX4939 board"
385         depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS
386         help
387           Map driver for NOR flash chips on RBTX4939 board.
389 config MTD_PLATRAM
390         tristate "Map driver for platform device RAM (mtd-ram)"
391         select MTD_RAM
392         help
393           Map driver for RAM areas described via the platform device
394           system.
396           This selection automatically selects the map_ram driver.
398 config MTD_VMU
399         tristate "Map driver for Dreamcast VMU"
400         depends on MAPLE
401         help
402           This driver enables access to the Dreamcast Visual Memory Unit (VMU).
404           Most Dreamcast users will want to say Y here.
406           To build this as a module select M here, the module will be called
407           vmu-flash.
409 config MTD_PISMO
410         tristate "MTD discovery driver for PISMO modules"
411         depends on I2C
412         depends on ARCH_VERSATILE
413         help
414           This driver allows for discovery of PISMO modules - see
415           <http://www.pismoworld.org/>.  These are small modules containing
416           up to five memory devices (eg, SRAM, flash, DOC) described by an
417           I2C EEPROM.
419           This driver does not create any MTD maps itself; instead it
420           creates MTD physmap and MTD SRAM platform devices.  If you
421           enable this option, you should consider enabling MTD_PHYSMAP
422           and/or MTD_PLATRAM according to the devices on your module.
424           When built as a module, it will be called pismo.ko
426 endmenu