blob: 1b48daee9a1a1db5eb1e34294918f2ee757f8b4d [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001menu "Self-contained MTD device drivers"
2 depends on MTD!=n
3
4config MTD_PMC551
5 tristate "Ramix PMC551 PCI Mezzanine RAM card support"
Jan Engelhardtec98c682007-04-19 16:21:41 -05006 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 ---help---
8 This provides a MTD device driver for the Ramix PMC551 RAM PCI card
9 from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>.
10 These devices come in memory configurations from 32M - 1G. If you
11 have one, you probably want to enable this.
12
13 If this driver is compiled as a module you get the ability to select
14 the size of the aperture window pointing into the devices memory.
15 What this means is that if you have a 1G card, normally the kernel
16 will use a 1G memory map as its view of the device. As a module,
17 you can select a 1M window into the memory and the driver will
18 "slide" the window around the PMC551's memory. This was
19 particularly useful on the 2.2 kernels on PPC architectures as there
20 was limited kernel space to deal with.
21
22config MTD_PMC551_BUGFIX
23 bool "PMC551 256M DRAM Bugfix"
24 depends on MTD_PMC551
25 help
26 Some of Ramix's PMC551 boards with 256M configurations have invalid
27 column and row mux values. This option will fix them, but will
28 break other memory configurations. If unsure say N.
29
30config MTD_PMC551_DEBUG
31 bool "PMC551 Debugging"
32 depends on MTD_PMC551
33 help
34 This option makes the PMC551 more verbose during its operation and
35 is only really useful if you are developing on this driver or
36 suspect a possible hardware or driver bug. If unsure say N.
37
38config MTD_MS02NV
39 tristate "DEC MS02-NV NVRAM module support"
Jan Engelhardtec98c682007-04-19 16:21:41 -050040 depends on MACH_DECSTATION
Linus Torvalds1da177e2005-04-16 15:20:36 -070041 help
42 This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery
43 backed-up NVRAM module. The module was originally meant as an NFS
44 accelerator. Say Y here if you have a DECstation 5000/2x0 or a
45 DECsystem 5900 equipped with such a module.
46
Martin Michlmayrbe21ce12006-03-20 04:40:26 +000047 If you want to compile this driver as a module ( = code which can be
48 inserted in and removed from the running kernel whenever you want),
Alexander E. Patrakov39f5fb32007-03-16 18:28:43 +050049 say M here and read <file:Documentation/kbuild/modules.txt>.
Pavel Machek4737f092009-06-05 00:44:53 +020050 The module will be called ms02-nv.
Martin Michlmayrbe21ce12006-03-20 04:40:26 +000051
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070052config MTD_MSM_NAND
53 tristate "MSM NAND Device Support"
54 depends on MTD && ARCH_MSM
55 select CRC16
56 select BITREVERSE
57 select MTD_NAND_IDS
58 default y
59 help
60 Support for some NAND chips connected to the MSM NAND controller.
61
David Brownell1d6432f2006-01-08 13:34:22 -080062config MTD_DATAFLASH
63 tristate "Support for AT45xxx DataFlash"
Jan Engelhardtec98c682007-04-19 16:21:41 -050064 depends on SPI_MASTER && EXPERIMENTAL
David Brownell1d6432f2006-01-08 13:34:22 -080065 help
66 This enables access to AT45xxx DataFlash chips, using SPI.
67 Sometimes DataFlash chips are packaged inside MMC-format
68 cards; at this writing, the MMC stack won't handle those.
69
David Brownell8c640382008-08-06 21:55:14 -070070config MTD_DATAFLASH_WRITE_VERIFY
71 bool "Verify DataFlash page writes"
72 depends on MTD_DATAFLASH
73 help
74 This adds an extra check when data is written to the flash.
75 It may help if you are verifying chip setup (timings etc) on
76 your board. There is a rare possibility that even though the
77 device thinks the write was successful, a bit could have been
78 flipped accidentally due to device wear or something else.
79
David Brownell34a82442008-07-30 12:35:05 -070080config MTD_DATAFLASH_OTP
81 bool "DataFlash OTP support (Security Register)"
82 depends on MTD_DATAFLASH
83 select HAVE_MTD_OTP
84 help
85 Newer DataFlash chips (revisions C and D) support 128 bytes of
86 one-time-programmable (OTP) data. The first half may be written
87 (once) with up to 64 bytes of data, such as a serial number or
88 other key product data. The second half is programmed with a
89 unique-to-each-chip bit pattern at the factory.
90
Mike Lavender2f9f7622006-01-08 13:34:27 -080091config MTD_M25P80
David Brownellfa0a8c72007-06-24 15:12:35 -070092 tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)"
Jan Engelhardtec98c682007-04-19 16:21:41 -050093 depends on SPI_MASTER && EXPERIMENTAL
Mike Lavender2f9f7622006-01-08 13:34:27 -080094 help
David Brownellfa0a8c72007-06-24 15:12:35 -070095 This enables access to most modern SPI flash chips, used for
96 program and data storage. Series supported include Atmel AT26DF,
97 Spansion S25SL, SST 25VF, ST M25P, and Winbond W25X. Other chips
98 are supported as well. See the driver source for the current list,
99 or to add other chips.
100
101 Note that the original DataFlash chips (AT45 series, not AT26DF),
102 need an entirely different driver.
103
104 Set up your spi devices with the right board-specific platform data,
105 if you want to specify device partitioning or to use a device which
106 doesn't support the JEDEC ID instruction.
Mike Lavender2f9f7622006-01-08 13:34:27 -0800107
Bryan Wu2230b762008-04-25 12:07:32 +0800108config M25PXX_USE_FAST_READ
109 bool "Use FAST_READ OPCode allowing SPI CLK <= 50MHz"
110 depends on MTD_M25P80
111 default y
112 help
113 This option enables FAST_READ access supported by ST M25Pxx.
114
Ryan Mallonec77e212009-09-18 12:51:40 -0700115config MTD_SST25L
116 tristate "Support SST25L (non JEDEC) SPI Flash chips"
117 depends on SPI_MASTER
118 help
119 This enables access to the non JEDEC SST25L SPI flash chips, used
120 for program and data storage.
121
122 Set up your spi devices with the right board-specific platform data,
123 if you want to specify device partitioning.
124
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125config MTD_SLRAM
126 tristate "Uncached system RAM"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127 help
128 If your CPU cannot cache all of the physical memory in your machine,
129 you can still use it for storage or swap by using this driver to
130 present it to the system as a Memory Technology Device.
131
132config MTD_PHRAM
133 tristate "Physical system RAM"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134 help
135 This is a re-implementation of the slram driver above.
136
137 Use this driver to access physical memory that the kernel proper
138 doesn't have access to, memory beyond the mem=xxx limit, nvram,
139 memory on the video card, etc...
140
141config MTD_LART
142 tristate "28F160xx flash driver for LART"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500143 depends on SA1100_LART
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 help
145 This enables the flash driver for LART. Please note that you do
146 not need any mapping/chip driver for LART. This one does it all
147 for you, so go disable all of those if you enabled some of them (:
148
149config MTD_MTDRAM
150 tristate "Test driver using RAM"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151 help
152 This enables a test MTD device driver which uses vmalloc() to
153 provide storage. You probably want to say 'N' unless you're
154 testing stuff.
155
156config MTDRAM_TOTAL_SIZE
157 int "MTDRAM device size in KiB"
158 depends on MTD_MTDRAM
159 default "4096"
160 help
161 This allows you to configure the total size of the MTD device
162 emulated by the MTDRAM driver. If the MTDRAM driver is built
163 as a module, it is also possible to specify this as a parameter when
164 loading the module.
165
166config MTDRAM_ERASE_SIZE
167 int "MTDRAM erase block size in KiB"
168 depends on MTD_MTDRAM
169 default "128"
170 help
171 This allows you to configure the size of the erase blocks in the
172 device emulated by the MTDRAM driver. If the MTDRAM driver is built
173 as a module, it is also possible to specify this as a parameter when
174 loading the module.
175
176#If not a module (I don't want to test it as a module)
177config MTDRAM_ABS_POS
178 hex "SRAM Hexadecimal Absolute position or 0"
179 depends on MTD_MTDRAM=y
180 default "0"
181 help
182 If you have system RAM accessible by the CPU but not used by Linux
183 in normal operation, you can give the physical address at which the
184 available RAM starts, and the MTDRAM driver will use it instead of
Thomas Gleixnere5580fb2005-11-07 11:15:40 +0000185 allocating space from Linux's available memory. Otherwise, leave
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 this set to zero. Most people will want to leave this as zero.
187
Joern Engelacc8dad2006-04-10 22:54:17 -0700188config MTD_BLOCK2MTD
189 tristate "MTD using block device"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500190 depends on BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 help
192 This driver allows a block device to appear as an MTD. It would
193 generally be used in the following cases:
194
195 Using Compact Flash as an MTD, these usually present themselves to
196 the system as an ATA drive.
197 Testing MTD users (eg JFFS2) on large media and media that might
198 be removed during a write (using the floppy drive).
199
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200comment "Disk-On-Chip Device Drivers"
201
202config MTD_DOC2000
203 tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204 select MTD_DOCPROBE
205 select MTD_NAND_IDS
206 ---help---
207 This provides an MTD device driver for the M-Systems DiskOnChip
208 2000 and Millennium devices. Originally designed for the DiskOnChip
209 2000, it also now includes support for the DiskOnChip Millennium.
210 If you have problems with this driver and the DiskOnChip Millennium,
211 you may wish to try the alternative Millennium driver below. To use
212 the alternative driver, you will need to undefine DOC_SINGLE_DRIVER
213 in the <file:drivers/mtd/devices/docprobe.c> source code.
214
215 If you use this device, you probably also want to enable the NFTL
216 'NAND Flash Translation Layer' option below, which is used to
217 emulate a block device by using a kind of file system on the flash
218 chips.
219
220 NOTE: This driver is deprecated and will probably be removed soon.
221 Please try the new DiskOnChip driver under "NAND Flash Device
222 Drivers".
223
224config MTD_DOC2001
225 tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226 select MTD_DOCPROBE
227 select MTD_NAND_IDS
228 ---help---
Thomas Gleixnere5580fb2005-11-07 11:15:40 +0000229 This provides an alternative MTD device driver for the M-Systems
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 DiskOnChip Millennium devices. Use this if you have problems with
231 the combined DiskOnChip 2000 and Millennium driver above. To get
232 the DiskOnChip probe code to load and use this driver instead of
233 the other one, you will need to undefine DOC_SINGLE_DRIVER near
234 the beginning of <file:drivers/mtd/devices/docprobe.c>.
235
236 If you use this device, you probably also want to enable the NFTL
237 'NAND Flash Translation Layer' option below, which is used to
238 emulate a block device by using a kind of file system on the flash
239 chips.
240
241 NOTE: This driver is deprecated and will probably be removed soon.
242 Please try the new DiskOnChip driver under "NAND Flash Device
243 Drivers".
244
245config MTD_DOC2001PLUS
246 tristate "M-Systems Disk-On-Chip Millennium Plus"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700247 select MTD_DOCPROBE
248 select MTD_NAND_IDS
249 ---help---
250 This provides an MTD device driver for the M-Systems DiskOnChip
251 Millennium Plus devices.
252
253 If you use this device, you probably also want to enable the INFTL
254 'Inverse NAND Flash Translation Layer' option below, which is used
Thomas Gleixnere5580fb2005-11-07 11:15:40 +0000255 to emulate a block device by using a kind of file system on the
Linus Torvalds1da177e2005-04-16 15:20:36 -0700256 flash chips.
257
258 NOTE: This driver will soon be replaced by the new DiskOnChip driver
259 under "NAND Flash Device Drivers" (currently that driver does not
260 support all Millennium Plus devices).
261
262config MTD_DOCPROBE
263 tristate
264 select MTD_DOCECC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700265
266config MTD_DOCECC
267 tristate
268
269config MTD_DOCPROBE_ADVANCED
270 bool "Advanced detection options for DiskOnChip"
271 depends on MTD_DOCPROBE
272 help
273 This option allows you to specify nonstandard address at which to
274 probe for a DiskOnChip, or to change the detection options. You
275 are unlikely to need any of this unless you are using LinuxBIOS.
276 Say 'N'.
277
278config MTD_DOCPROBE_ADDRESS
279 hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED
280 depends on MTD_DOCPROBE
281 default "0x0000" if MTD_DOCPROBE_ADVANCED
282 default "0" if !MTD_DOCPROBE_ADVANCED
283 ---help---
284 By default, the probe for DiskOnChip devices will look for a
285 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
286 This option allows you to specify a single address at which to probe
287 for the device, which is useful if you have other devices in that
288 range which get upset when they are probed.
289
290 (Note that on PowerPC, the normal probe will only check at
291 0xE4000000.)
292
293 Normally, you should leave this set to zero, to allow the probe at
294 the normal addresses.
295
296config MTD_DOCPROBE_HIGH
297 bool "Probe high addresses"
298 depends on MTD_DOCPROBE_ADVANCED
299 help
300 By default, the probe for DiskOnChip devices will look for a
301 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
302 This option changes to make it probe between 0xFFFC8000 and
303 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be
304 useful to you. Say 'N'.
305
306config MTD_DOCPROBE_55AA
307 bool "Probe for 0x55 0xAA BIOS Extension Signature"
308 depends on MTD_DOCPROBE_ADVANCED
309 help
310 Check for the 0x55 0xAA signature of a DiskOnChip, and do not
311 continue with probing if it is absent. The signature will always be
312 present for a DiskOnChip 2000 or a normal DiskOnChip Millennium.
313 Only if you have overwritten the first block of a DiskOnChip
314 Millennium will it be absent. Enable this option if you are using
315 LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
316 you have managed to wipe the first block.
317
318endmenu