1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Mapping drivers for chip access"
6 config MTD_COMPLEX_MAPPINGS
7 bool "Support non-linear mappings of flash chips"
9 This causes the chip drivers to allow for complicated
10 paged mappings of flash chips.
13 tristate "Flash device in physical memory map"
14 depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR
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
31 Setup a simple mapping via the Kconfig options. Normally the
32 physmap configuration options are done via your board's
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
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
47 config MTD_PHYSMAP_LEN
48 hex "Physical length of flash mapping"
49 depends on MTD_PHYSMAP_COMPAT
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
59 config MTD_PHYSMAP_BANKWIDTH
60 int "Bank width in octets"
61 depends on MTD_PHYSMAP_COMPAT
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.
70 bool "Memory device in physical memory map based on OF description"
71 depends on OF && MTD_PHYSMAP
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
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
93 default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW)
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
106 This provides some extra DT physmap parsing for the Gemini
107 platforms, some detection and setting up parallel mode on the
110 config MTD_PHYSMAP_IXP4XX
111 bool "Intel IXP4xx OF-based physical memory map handling"
112 depends on MTD_PHYSMAP_OF
114 select MTD_COMPLEX_MAPPINGS
115 select MTD_CFI_BE_BYTE_SWAP if CPU_BIG_ENDIAN
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
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
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.
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
148 config MSP_FLASH_MAP_LIMIT
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
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.
163 tristate "CFI Flash device mapped on AMD SC520 CDP"
164 depends on (MELAN || COMPILE_TEST) && MTD_CFI
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.
171 tristate "CFI Flash device mapped on AMD NetSc520"
172 depends on (MELAN || COMPILE_TEST) && MTD_CFI
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'.
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
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.
197 tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
198 depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS
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.
205 <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>.
208 tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards"
209 depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT
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
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.
225 tristate "BIOS flash chip on AMD76x southbridge"
226 depends on X86 && MTD_JEDECPROBE
228 Support for treating the BIOS flash chip on AMD76x motherboards
229 as an MTD device - with this you can reprogram your BIOS.
234 tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5"
235 depends on X86 && MTD_JEDECPROBE
237 Support for treating the BIOS flash chip on ICHX motherboards
238 as an MTD device - with this you can reprogram your BIOS.
243 tristate "BIOS flash chip on Intel ESB Controller Hub 2"
244 depends on X86 && MTD_JEDECPROBE && PCI
246 Support for treating the BIOS flash chip on ESB2 motherboards
247 as an MTD device - with this you can reprogram your BIOS.
252 tristate "BIOS flash chip on Nvidia CK804"
253 depends on X86 && MTD_JEDECPROBE && PCI
255 Support for treating the BIOS flash chip on nvidia motherboards
256 as an MTD device - with this you can reprogram your BIOS.
260 config MTD_SCB2_FLASH
261 tristate "BIOS flash chip on Intel SCB2 boards"
262 depends on X86 && MTD_JEDECPROBE && PCI
264 Support for treating the BIOS flash chip on Intel SCB2 boards
265 as an MTD device - with this you can reprogram your BIOS.
270 tristate "Flash chips on Tsunami TIG bus"
271 depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS
273 Support for the flash chip on Tsunami TIG bus.
276 tristate "CFI flash device on SnapGear/SecureEdge"
277 depends on X86 && MTD_JEDECPROBE
279 Support for flash chips on NETtel/SecureEdge/SnapGear boards.
282 tristate "Lantiq SoC NOR support"
285 Support for NOR flash attached to the Lantiq SoC's External Bus Unit.
288 tristate "BIOS flash chip on Intel L440GX boards"
289 depends on X86 && MTD_JEDECPROBE
291 Support for treating the BIOS flash chip on Intel L440GX motherboards
292 as an MTD device - with this you can reprogram your BIOS.
296 config MTD_CFI_FLAGADM
297 tristate "CFI Flash device mapping on FlagaDM"
298 depends on PPC_8xx && MTD_CFI
300 Mapping for the Flaga digital module. If you don't have one, ignore
303 config MTD_SOLUTIONENGINE
304 tristate "CFI Flash device mapped on Hitachi SolutionEngine"
305 depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS
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.
311 tristate "CFI Flash device mapped on StrongARM SA11x0"
312 depends on MTD_CFI && ARCH_SA1100
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'.
319 tristate "CFI Flash device mapped on DC21285 Footbridge"
320 depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS
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>.
327 tristate "CFI Flash device mapped on Intel IXP4xx based systems"
328 depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
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'.
336 tristate "JEDEC Flash device mapped on impA7"
337 depends on ARM && MTD_JEDECPROBE
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.
344 tristate "PCI MTD driver"
345 depends on PCI && MTD_COMPLEX_MAPPINGS
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.
354 tristate "PCMCIA MTD driver"
355 depends on PCMCIA && MTD_COMPLEX_MAPPINGS
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
365 If this option is enabled, PCMCIA cards which do not report
366 anything about themselves are assumed to be MTD cards.
371 bool "Generic uClinux RAM/ROM filesystem support"
372 depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE)
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"
380 Map driver for a NOR flash bank located on the Expansion Bus of the
381 Intel Vermilion Range chipset.
384 tristate "Map driver for RBTX4939 board"
385 depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS
387 Map driver for NOR flash chips on RBTX4939 board.
390 tristate "Map driver for platform device RAM (mtd-ram)"
393 Map driver for RAM areas described via the platform device
396 This selection automatically selects the map_ram driver.
399 tristate "Map driver for Dreamcast VMU"
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
410 tristate "MTD discovery driver for PISMO modules"
412 depends on ARCH_VERSATILE
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
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