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