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_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
89config 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
99config 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
110config 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
121config 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
130config 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
139config 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
147config 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
155config 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
173config 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
184config 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
190config 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
201config 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
210config 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
219config 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
228config 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
237config 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
246config 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
252config 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
258config 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
264config 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
273config 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
280config 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
287config 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
295config 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
303config 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.
311config 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
321config 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
329config 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
338config 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
344config MTD_PLATRAM
345 tristate "Map driver for platform device RAM (mtd-ram)"
346 select MTD_RAM
347 help
348 Map driver for RAM areas described via the platform device
349 system.
350
351 This selection automatically selects the map_ram driver.
352
353config MTD_VMU
354 tristate "Map driver for Dreamcast VMU"
355 depends on MAPLE
356 help
357 This driver enables access to the Dreamcast Visual Memory Unit (VMU).
358
359 Most Dreamcast users will want to say Y here.
360
361 To build this as a module select M here, the module will be called
362 vmu-flash.
363
364config MTD_PISMO
365 tristate "MTD discovery driver for PISMO modules"
366 depends on I2C
367 depends on ARCH_VERSATILE
368 help
369 This driver allows for discovery of PISMO modules - see
370 <http://www.pismoworld.org/>. These are small modules containing
371 up to five memory devices (eg, SRAM, flash, DOC) described by an
372 I2C EEPROM.
373
374 This driver does not create any MTD maps itself; instead it
375 creates MTD physmap and MTD SRAM platform devices. If you
376 enable this option, you should consider enabling MTD_PHYSMAP
377 and/or MTD_PLATRAM according to the devices on your module.
378
379 When built as a module, it will be called pismo.ko
380
381endmenu