blob: bc0576409195e6ac3a04cab72faa198e5b1e3441 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001menu "Self-contained MTD device drivers"
2 depends on MTD!=n
Richard Weinberger9310da02012-02-07 01:22:50 +01003 depends on HAS_IOMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5config MTD_PMC551
6 tristate "Ramix PMC551 PCI Mezzanine RAM card support"
Jan Engelhardtec98c682007-04-19 16:21:41 -05007 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 ---help---
9 This provides a MTD device driver for the Ramix PMC551 RAM PCI card
10 from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>.
11 These devices come in memory configurations from 32M - 1G. If you
12 have one, you probably want to enable this.
13
14 If this driver is compiled as a module you get the ability to select
15 the size of the aperture window pointing into the devices memory.
16 What this means is that if you have a 1G card, normally the kernel
17 will use a 1G memory map as its view of the device. As a module,
18 you can select a 1M window into the memory and the driver will
19 "slide" the window around the PMC551's memory. This was
20 particularly useful on the 2.2 kernels on PPC architectures as there
21 was limited kernel space to deal with.
22
23config MTD_PMC551_BUGFIX
24 bool "PMC551 256M DRAM Bugfix"
25 depends on MTD_PMC551
26 help
27 Some of Ramix's PMC551 boards with 256M configurations have invalid
28 column and row mux values. This option will fix them, but will
29 break other memory configurations. If unsure say N.
30
31config MTD_PMC551_DEBUG
32 bool "PMC551 Debugging"
33 depends on MTD_PMC551
34 help
35 This option makes the PMC551 more verbose during its operation and
36 is only really useful if you are developing on this driver or
37 suspect a possible hardware or driver bug. If unsure say N.
38
39config MTD_MS02NV
40 tristate "DEC MS02-NV NVRAM module support"
Jan Engelhardtec98c682007-04-19 16:21:41 -050041 depends on MACH_DECSTATION
Linus Torvalds1da177e2005-04-16 15:20:36 -070042 help
43 This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery
44 backed-up NVRAM module. The module was originally meant as an NFS
45 accelerator. Say Y here if you have a DECstation 5000/2x0 or a
46 DECsystem 5900 equipped with such a module.
47
Martin Michlmayrbe21ce12006-03-20 04:40:26 +000048 If you want to compile this driver as a module ( = code which can be
49 inserted in and removed from the running kernel whenever you want),
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +050050 say M here and read <file:Documentation/kbuild/modules.txt>.
Pavel Machek4737f092009-06-05 00:44:53 +020051 The module will be called ms02-nv.
Martin Michlmayrbe21ce12006-03-20 04:40:26 +000052
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070053config MTD_MSM_NAND
54 tristate "MSM NAND Device Support"
55 depends on MTD && ARCH_MSM
56 select CRC16
57 select BITREVERSE
58 select MTD_NAND_IDS
59 default y
60 help
61 Support for some NAND chips connected to the MSM NAND controller.
62
Sahitya Tummalaf57ae882012-04-02 13:53:33 +053063config MTD_MSM_QPIC_NAND
64 tristate "MSM QPIC NAND Device Support"
65 depends on MTD && ARCH_MSM && !MTD_MSM_NAND
66 select CRC16
67 select BITREVERSE
68 select MTD_NAND_IDS
69 default n
70 help
71 Support for NAND controller in Qualcomm Parallel Interface
72 controller (QPIC). This new controller supports BAM mode
73 and BCH error correction mechanism. Based on the device
74 capabilities either 4 bit or 8 bit BCH ECC will be used.
75
David Brownell1d6432f2006-01-08 13:34:22 -080076config MTD_DATAFLASH
77 tristate "Support for AT45xxx DataFlash"
Jan Engelhardtec98c682007-04-19 16:21:41 -050078 depends on SPI_MASTER && EXPERIMENTAL
David Brownell1d6432f2006-01-08 13:34:22 -080079 help
80 This enables access to AT45xxx DataFlash chips, using SPI.
81 Sometimes DataFlash chips are packaged inside MMC-format
82 cards; at this writing, the MMC stack won't handle those.
83
David Brownell8c640382008-08-06 21:55:14 -070084config MTD_DATAFLASH_WRITE_VERIFY
85 bool "Verify DataFlash page writes"
86 depends on MTD_DATAFLASH
87 help
88 This adds an extra check when data is written to the flash.
89 It may help if you are verifying chip setup (timings etc) on
90 your board. There is a rare possibility that even though the
91 device thinks the write was successful, a bit could have been
92 flipped accidentally due to device wear or something else.
93
David Brownell34a82442008-07-30 12:35:05 -070094config MTD_DATAFLASH_OTP
95 bool "DataFlash OTP support (Security Register)"
96 depends on MTD_DATAFLASH
97 select HAVE_MTD_OTP
98 help
99 Newer DataFlash chips (revisions C and D) support 128 bytes of
100 one-time-programmable (OTP) data. The first half may be written
101 (once) with up to 64 bytes of data, such as a serial number or
102 other key product data. The second half is programmed with a
103 unique-to-each-chip bit pattern at the factory.
104
Mike Lavender2f9f7622006-01-08 13:34:27 -0800105config MTD_M25P80
David Brownellfa0a8c72007-06-24 15:12:35 -0700106 tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500107 depends on SPI_MASTER && EXPERIMENTAL
Mike Lavender2f9f7622006-01-08 13:34:27 -0800108 help
David Brownellfa0a8c72007-06-24 15:12:35 -0700109 This enables access to most modern SPI flash chips, used for
110 program and data storage. Series supported include Atmel AT26DF,
111 Spansion S25SL, SST 25VF, ST M25P, and Winbond W25X. Other chips
112 are supported as well. See the driver source for the current list,
113 or to add other chips.
114
115 Note that the original DataFlash chips (AT45 series, not AT26DF),
116 need an entirely different driver.
117
118 Set up your spi devices with the right board-specific platform data,
119 if you want to specify device partitioning or to use a device which
120 doesn't support the JEDEC ID instruction.
Mike Lavender2f9f7622006-01-08 13:34:27 -0800121
Bryan Wu2230b762008-04-25 12:07:32 +0800122config M25PXX_USE_FAST_READ
123 bool "Use FAST_READ OPCode allowing SPI CLK <= 50MHz"
124 depends on MTD_M25P80
125 default y
126 help
127 This option enables FAST_READ access supported by ST M25Pxx.
128
Shiraz Hashimf18dbbb2012-01-12 14:38:57 +0100129config MTD_SPEAR_SMI
130 tristate "SPEAR MTD NOR Support through SMI controller"
131 depends on PLAT_SPEAR
132 default y
133 help
134 This enable SNOR support on SPEAR platforms using SMI controller
135
Ryan Mallonec77e212009-09-18 12:51:40 -0700136config MTD_SST25L
137 tristate "Support SST25L (non JEDEC) SPI Flash chips"
138 depends on SPI_MASTER
139 help
140 This enables access to the non JEDEC SST25L SPI flash chips, used
141 for program and data storage.
142
143 Set up your spi devices with the right board-specific platform data,
144 if you want to specify device partitioning.
145
Linus Torvalds1da177e2005-04-16 15:20:36 -0700146config MTD_SLRAM
147 tristate "Uncached system RAM"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148 help
149 If your CPU cannot cache all of the physical memory in your machine,
150 you can still use it for storage or swap by using this driver to
151 present it to the system as a Memory Technology Device.
152
153config MTD_PHRAM
154 tristate "Physical system RAM"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 help
156 This is a re-implementation of the slram driver above.
157
158 Use this driver to access physical memory that the kernel proper
159 doesn't have access to, memory beyond the mem=xxx limit, nvram,
160 memory on the video card, etc...
161
162config MTD_LART
163 tristate "28F160xx flash driver for LART"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500164 depends on SA1100_LART
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 help
166 This enables the flash driver for LART. Please note that you do
167 not need any mapping/chip driver for LART. This one does it all
168 for you, so go disable all of those if you enabled some of them (:
169
170config MTD_MTDRAM
171 tristate "Test driver using RAM"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172 help
173 This enables a test MTD device driver which uses vmalloc() to
174 provide storage. You probably want to say 'N' unless you're
175 testing stuff.
176
177config MTDRAM_TOTAL_SIZE
178 int "MTDRAM device size in KiB"
179 depends on MTD_MTDRAM
180 default "4096"
181 help
182 This allows you to configure the total size of the MTD device
183 emulated by the MTDRAM driver. If the MTDRAM driver is built
184 as a module, it is also possible to specify this as a parameter when
185 loading the module.
186
187config MTDRAM_ERASE_SIZE
188 int "MTDRAM erase block size in KiB"
189 depends on MTD_MTDRAM
190 default "128"
191 help
192 This allows you to configure the size of the erase blocks in the
193 device emulated by the MTDRAM driver. If the MTDRAM driver is built
194 as a module, it is also possible to specify this as a parameter when
195 loading the module.
196
197#If not a module (I don't want to test it as a module)
198config MTDRAM_ABS_POS
199 hex "SRAM Hexadecimal Absolute position or 0"
200 depends on MTD_MTDRAM=y
201 default "0"
202 help
203 If you have system RAM accessible by the CPU but not used by Linux
204 in normal operation, you can give the physical address at which the
205 available RAM starts, and the MTDRAM driver will use it instead of
Thomas Gleixnere5580fb2005-11-07 11:15:40 +0000206 allocating space from Linux's available memory. Otherwise, leave
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207 this set to zero. Most people will want to leave this as zero.
208
Joern Engelacc8dad2006-04-10 22:54:17 -0700209config MTD_BLOCK2MTD
210 tristate "MTD using block device"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500211 depends on BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212 help
213 This driver allows a block device to appear as an MTD. It would
214 generally be used in the following cases:
215
216 Using Compact Flash as an MTD, these usually present themselves to
217 the system as an ATA drive.
218 Testing MTD users (eg JFFS2) on large media and media that might
219 be removed during a write (using the floppy drive).
220
Linus Torvalds1da177e2005-04-16 15:20:36 -0700221comment "Disk-On-Chip Device Drivers"
222
223config MTD_DOC2000
224 tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)"
Fabio Estevamb60ef992012-01-03 16:35:25 -0200225 depends on MTD_NAND
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226 select MTD_DOCPROBE
227 select MTD_NAND_IDS
228 ---help---
229 This provides an MTD device driver for the M-Systems DiskOnChip
230 2000 and Millennium devices. Originally designed for the DiskOnChip
231 2000, it also now includes support for the DiskOnChip Millennium.
232 If you have problems with this driver and the DiskOnChip Millennium,
233 you may wish to try the alternative Millennium driver below. To use
234 the alternative driver, you will need to undefine DOC_SINGLE_DRIVER
235 in the <file:drivers/mtd/devices/docprobe.c> source code.
236
237 If you use this device, you probably also want to enable the NFTL
238 'NAND Flash Translation Layer' option below, which is used to
239 emulate a block device by using a kind of file system on the flash
240 chips.
241
242 NOTE: This driver is deprecated and will probably be removed soon.
243 Please try the new DiskOnChip driver under "NAND Flash Device
244 Drivers".
245
246config MTD_DOC2001
247 tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED)"
Fabio Estevamb60ef992012-01-03 16:35:25 -0200248 depends on MTD_NAND
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249 select MTD_DOCPROBE
250 select MTD_NAND_IDS
251 ---help---
Thomas Gleixnere5580fb2005-11-07 11:15:40 +0000252 This provides an alternative MTD device driver for the M-Systems
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253 DiskOnChip Millennium devices. Use this if you have problems with
254 the combined DiskOnChip 2000 and Millennium driver above. To get
255 the DiskOnChip probe code to load and use this driver instead of
256 the other one, you will need to undefine DOC_SINGLE_DRIVER near
257 the beginning of <file:drivers/mtd/devices/docprobe.c>.
258
259 If you use this device, you probably also want to enable the NFTL
260 'NAND Flash Translation Layer' option below, which is used to
261 emulate a block device by using a kind of file system on the flash
262 chips.
263
264 NOTE: This driver is deprecated and will probably be removed soon.
265 Please try the new DiskOnChip driver under "NAND Flash Device
266 Drivers".
267
268config MTD_DOC2001PLUS
269 tristate "M-Systems Disk-On-Chip Millennium Plus"
Fabio Estevamb60ef992012-01-03 16:35:25 -0200270 depends on MTD_NAND
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271 select MTD_DOCPROBE
272 select MTD_NAND_IDS
273 ---help---
274 This provides an MTD device driver for the M-Systems DiskOnChip
275 Millennium Plus devices.
276
277 If you use this device, you probably also want to enable the INFTL
278 'Inverse NAND Flash Translation Layer' option below, which is used
Thomas Gleixnere5580fb2005-11-07 11:15:40 +0000279 to emulate a block device by using a kind of file system on the
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280 flash chips.
281
282 NOTE: This driver will soon be replaced by the new DiskOnChip driver
283 under "NAND Flash Device Drivers" (currently that driver does not
284 support all Millennium Plus devices).
285
Robert Jarzmikefa2ca72011-10-05 15:22:34 +0200286config MTD_DOCG3
287 tristate "M-Systems Disk-On-Chip G3"
Robert Jarzmikd13d19e2011-11-19 16:02:55 +0100288 select BCH
289 select BCH_CONST_PARAMS
Robert Jarzmikefa2ca72011-10-05 15:22:34 +0200290 ---help---
291 This provides an MTD device driver for the M-Systems DiskOnChip
292 G3 devices.
293
294 The driver provides access to G3 DiskOnChip, distributed by
295 M-Systems and now Sandisk. The support is very experimental,
296 and doesn't give access to any write operations.
297
Robert Jarzmikd13d19e2011-11-19 16:02:55 +0100298if MTD_DOCG3
299config BCH_CONST_M
300 default 14
301config BCH_CONST_T
302 default 4
303endif
304
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305config MTD_DOCPROBE
306 tristate
307 select MTD_DOCECC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700308
309config MTD_DOCECC
310 tristate
311
312config MTD_DOCPROBE_ADVANCED
313 bool "Advanced detection options for DiskOnChip"
314 depends on MTD_DOCPROBE
315 help
316 This option allows you to specify nonstandard address at which to
317 probe for a DiskOnChip, or to change the detection options. You
318 are unlikely to need any of this unless you are using LinuxBIOS.
319 Say 'N'.
320
321config MTD_DOCPROBE_ADDRESS
322 hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED
323 depends on MTD_DOCPROBE
Paul Bolle6be55f72011-10-25 11:00:07 +0200324 default "0x0"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700325 ---help---
326 By default, the probe for DiskOnChip devices will look for a
327 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
328 This option allows you to specify a single address at which to probe
329 for the device, which is useful if you have other devices in that
330 range which get upset when they are probed.
331
332 (Note that on PowerPC, the normal probe will only check at
333 0xE4000000.)
334
335 Normally, you should leave this set to zero, to allow the probe at
336 the normal addresses.
337
338config MTD_DOCPROBE_HIGH
339 bool "Probe high addresses"
340 depends on MTD_DOCPROBE_ADVANCED
341 help
342 By default, the probe for DiskOnChip devices will look for a
343 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
344 This option changes to make it probe between 0xFFFC8000 and
345 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be
346 useful to you. Say 'N'.
347
348config MTD_DOCPROBE_55AA
349 bool "Probe for 0x55 0xAA BIOS Extension Signature"
350 depends on MTD_DOCPROBE_ADVANCED
351 help
352 Check for the 0x55 0xAA signature of a DiskOnChip, and do not
353 continue with probing if it is absent. The signature will always be
354 present for a DiskOnChip 2000 or a normal DiskOnChip Millennium.
355 Only if you have overwritten the first block of a DiskOnChip
356 Millennium will it be absent. Enable this option if you are using
357 LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
358 you have managed to wipe the first block.
359
360endmenu