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