bc82305ebb4c2cd5c30d7ae1a95f0656c6b4290f
[linux-2.6-block.git] / drivers / mtd / maps / Kconfig
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
5
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.
11
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.
22
23           To compile this driver as a module, choose M here: the
24           module will be called physmap.
25
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.
34
35           If unsure, say N here.
36
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.
46
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.
58
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.
68
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.
77
78 config MTD_PHYSMAP_VERSATILE
79         bool "ARM Versatile OF-based physical memory map handling"
80         depends on MTD_PHYSMAP_OF
81         depends on MFD_SYSCON
82         default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW)
83         help
84           This provides some extra DT physmap parsing for the ARM Versatile
85           platforms, basically to add a VPP (write protection) callback so
86           the flash can be taken out of write protection.
87
88 config MTD_PHYSMAP_GEMINI
89         bool "Cortina Gemini OF-based physical memory map handling"
90         depends on MTD_PHYSMAP_OF
91         depends on MFD_SYSCON
92         select MTD_COMPLEX_MAPPINGS
93         default ARCH_GEMINI
94         help
95           This provides some extra DT physmap parsing for the Gemini
96           platforms, some detection and setting up parallel mode on the
97           external interface.
98
99 config MTD_PHYSMAP_GPIO_ADDR
100         bool "GPIO-assisted Flash Chip Support"
101         depends on MTD_PHYSMAP
102         depends on GPIOLIB || COMPILE_TEST
103         depends on MTD_COMPLEX_MAPPINGS
104         help
105           Extend the physmap driver to allow flashes to be partially
106           physically addressed and assisted by GPIOs.
107
108 config MTD_PMC_MSP_EVM
109         tristate "CFI Flash device mapped on PMC-Sierra MSP"
110         depends on PMC_MSP && MTD_CFI
111         help
112           This provides a 'mapping' driver which supports the way
113           in which user-programmable flash chips are connected on the
114           PMC-Sierra MSP eval/demo boards.
115
116 choice
117         prompt "Maximum mappable memory available for flash IO"
118         depends on MTD_PMC_MSP_EVM
119         default MSP_FLASH_MAP_LIMIT_32M
120
121 config MSP_FLASH_MAP_LIMIT_32M
122         bool "32M"
123
124 endchoice
125
126 config MSP_FLASH_MAP_LIMIT
127         hex
128         default "0x02000000"
129         depends on MSP_FLASH_MAP_LIMIT_32M
130
131 config MTD_SUN_UFLASH
132         tristate "Sun Microsystems userflash support"
133         depends on SPARC && MTD_CFI && PCI
134         help
135           This provides a 'mapping' driver which supports the way in
136           which user-programmable flash chips are connected on various
137           Sun Microsystems boardsets.  This driver will require CFI support
138           in the kernel, so if you did not enable CFI previously, do that now.
139
140 config MTD_SC520CDP
141         tristate "CFI Flash device mapped on AMD SC520 CDP"
142         depends on (MELAN || COMPILE_TEST) && MTD_CFI
143         help
144           The SC520 CDP board has two banks of CFI-compliant chips and one
145           Dual-in-line JEDEC chip. This 'mapping' driver supports that
146           arrangement, implementing three MTD devices.
147
148 config MTD_NETSC520
149         tristate "CFI Flash device mapped on AMD NetSc520"
150         depends on (MELAN || COMPILE_TEST) && MTD_CFI
151         help
152           This enables access routines for the flash chips on the AMD NetSc520
153           demonstration board. If you have one of these boards and would like
154           to use the flash chips on it, say 'Y'.
155
156 config MTD_TS5500
157         tristate "JEDEC Flash device mapped on Technologic Systems TS-5500"
158         depends on TS5500 || COMPILE_TEST
159         select MTD_JEDECPROBE
160         select MTD_CFI_AMDSTD
161         help
162           This provides a driver for the on-board flash of the Technologic
163           System's TS-5500 board. The 2MB flash is split into 3 partitions
164           which are accessed as separate MTD devices.
165
166           mtd0 and mtd2 are the two BIOS drives, which use the resident
167           flash disk (RFD) flash translation layer.
168
169           mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL.
170
171           Note that jumper 3 ("Write Enable Drive A") must be set
172           otherwise detection won't succeed.
173
174 config MTD_SBC_GXX
175         tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
176         depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
177         help
178           This provides a driver for the on-board flash of Arcom Control
179           Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
180           By default the flash is split into 3 partitions which are accessed
181           as separate MTD devices. This board utilizes Intel StrataFlash.
182           More info at
183           <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
184
185 config MTD_PXA2XX
186         tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
187         depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
188         help
189           This provides a driver for the NOR flash attached to a PXA2xx chip.
190
191 config MTD_SCx200_DOCFLASH
192         tristate "Flash device mapped with DOCCS on NatSemi SCx200"
193         depends on SCx200 && MTD_CFI
194         help
195           Enable support for a flash chip mapped using the DOCCS signal on a
196           National Semiconductor SCx200 processor.
197
198           If you don't know what to do here, say N.
199
200           If compiled as a module, it will be called scx200_docflash.
201
202 config MTD_AMD76XROM
203         tristate "BIOS flash chip on AMD76x southbridge"
204         depends on X86 && MTD_JEDECPROBE
205         help
206           Support for treating the BIOS flash chip on AMD76x motherboards
207           as an MTD device - with this you can reprogram your BIOS.
208
209           BE VERY CAREFUL.
210
211 config MTD_ICHXROM
212         tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
213         depends on X86 && MTD_JEDECPROBE
214         help
215           Support for treating the BIOS flash chip on ICHX motherboards
216           as an MTD device - with this you can reprogram your BIOS.
217
218           BE VERY CAREFUL.
219
220 config MTD_ESB2ROM
221         tristate "BIOS flash chip on Intel ESB Controller Hub 2"
222         depends on X86 && MTD_JEDECPROBE && PCI
223         help
224           Support for treating the BIOS flash chip on ESB2 motherboards
225           as an MTD device - with this you can reprogram your BIOS.
226
227           BE VERY CAREFUL.
228
229 config MTD_CK804XROM
230         tristate "BIOS flash chip on Nvidia CK804"
231         depends on X86 && MTD_JEDECPROBE && PCI
232         help
233           Support for treating the BIOS flash chip on nvidia motherboards
234           as an MTD device - with this you can reprogram your BIOS.
235
236           BE VERY CAREFUL.
237
238 config MTD_SCB2_FLASH
239         tristate "BIOS flash chip on Intel SCB2 boards"
240         depends on X86 && MTD_JEDECPROBE && PCI
241         help
242           Support for treating the BIOS flash chip on Intel SCB2 boards
243           as an MTD device - with this you can reprogram your BIOS.
244
245           BE VERY CAREFUL.
246
247 config MTD_TSUNAMI
248         tristate "Flash chips on Tsunami TIG bus"
249         depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
250         help
251           Support for the flash chip on Tsunami TIG bus.
252
253 config MTD_NETtel
254         tristate "CFI flash device on SnapGear/SecureEdge"
255         depends on X86 && MTD_JEDECPROBE
256         help
257           Support for flash chips on NETtel/SecureEdge/SnapGear boards.
258
259 config MTD_LANTIQ
260         tristate "Lantiq SoC NOR support"
261         depends on LANTIQ
262         help
263           Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
264
265 config MTD_L440GX
266         tristate "BIOS flash chip on Intel L440GX boards"
267         depends on X86 && MTD_JEDECPROBE
268         help
269           Support for treating the BIOS flash chip on Intel L440GX motherboards
270           as an MTD device - with this you can reprogram your BIOS.
271
272           BE VERY CAREFUL.
273
274 config MTD_CFI_FLAGADM
275         tristate "CFI Flash device mapping on FlagaDM"
276         depends on PPC_8xx && MTD_CFI
277         help
278           Mapping for the Flaga digital module. If you don't have one, ignore
279           this setting.
280
281 config MTD_SOLUTIONENGINE
282         tristate "CFI Flash device mapped on Hitachi SolutionEngine"
283         depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
284         help
285           This enables access to the flash chips on the Hitachi SolutionEngine and
286           similar boards. Say 'Y' if you are building a kernel for such a board.
287
288 config MTD_SA1100
289         tristate "CFI Flash device mapped on StrongARM SA11x0"
290         depends on MTD_CFI && ARCH_SA1100
291         help
292           This enables access to the flash chips on most platforms based on
293           the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
294           If you have such a board, say 'Y'.
295
296 config MTD_DC21285
297         tristate "CFI Flash device mapped on DC21285 Footbridge"
298         depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
299         help
300           This provides a driver for the flash accessed using Intel's
301           21285 bridge used with Intel's StrongARM processors. More info at
302           <http://www.intel.com/design/bridge/docs/21285_documentation.htm>.
303
304 config MTD_IXP4XX
305         tristate "CFI Flash device mapped on Intel IXP4xx based systems"
306         depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
307         help
308           This enables MTD access to flash devices on platforms based
309           on Intel's IXP4xx family of network processors such as the
310           IXDP425 and Coyote. If you have an IXP4xx based board and
311           would like to use the flash chips on it, say 'Y'.
312
313 config MTD_IMPA7
314         tristate "JEDEC Flash device mapped on impA7"
315         depends on ARM && MTD_JEDECPROBE
316         help
317           This enables access to the NOR Flash on the impA7 board of
318           implementa GmbH. If you have such a board, say 'Y' here.
319
320 # This needs CFI or JEDEC, depending on the cards found.
321 config MTD_PCI
322         tristate "PCI MTD driver"
323         depends on PCI && MTD_COMPLEX_MAPPINGS
324         help
325           Mapping for accessing flash devices on add-in cards like the Intel XScale
326           IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
327           (please see the manual for the link settings).
328
329           If you are not sure, say N.
330
331 config MTD_PCMCIA
332         tristate "PCMCIA MTD driver"
333         depends on PCMCIA && MTD_COMPLEX_MAPPINGS
334         help
335           Map driver for accessing PCMCIA linear flash memory cards. These
336           cards are usually around 4-16MiB in size. This does not include
337           Compact Flash cards which are treated as IDE devices.
338
339 config MTD_PCMCIA_ANONYMOUS
340         bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards"
341         depends on MTD_PCMCIA
342         help
343           If this option is enabled, PCMCIA cards which do not report
344           anything about themselves are assumed to be MTD cards.
345
346           If unsure, say N.
347
348 config MTD_UCLINUX
349         bool "Generic uClinux RAM/ROM filesystem support"
350         depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
351         help
352           Map driver to support image based filesystems for uClinux.
353
354 config MTD_INTEL_VR_NOR
355         tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0"
356         depends on PCI
357         help
358           Map driver for a NOR flash bank located on the Expansion Bus of the
359           Intel Vermilion Range chipset.
360
361 config MTD_RBTX4939
362         tristate "Map driver for RBTX4939 board"
363         depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS
364         help
365           Map driver for NOR flash chips on RBTX4939 board.
366
367 config MTD_PLATRAM
368         tristate "Map driver for platform device RAM (mtd-ram)"
369         select MTD_RAM
370         help
371           Map driver for RAM areas described via the platform device
372           system.
373
374           This selection automatically selects the map_ram driver.
375
376 config MTD_VMU
377         tristate "Map driver for Dreamcast VMU"
378         depends on MAPLE
379         help
380           This driver enables access to the Dreamcast Visual Memory Unit (VMU).
381
382           Most Dreamcast users will want to say Y here.
383
384           To build this as a module select M here, the module will be called
385           vmu-flash.
386
387 config MTD_PISMO
388         tristate "MTD discovery driver for PISMO modules"
389         depends on I2C
390         depends on ARCH_VERSATILE
391         help
392           This driver allows for discovery of PISMO modules - see
393           <http://www.pismoworld.org/>.  These are small modules containing
394           up to five memory devices (eg, SRAM, flash, DOC) described by an
395           I2C EEPROM.
396
397           This driver does not create any MTD maps itself; instead it
398           creates MTD physmap and MTD SRAM platform devices.  If you
399           enable this option, you should consider enabling MTD_PHYSMAP
400           and/or MTD_PLATRAM according to the devices on your module.
401
402           When built as a module, it will be called pismo.ko
403
404 endmenu