Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | menu "Self-contained MTD device drivers" |
| 2 | depends on MTD!=n |
Richard Weinberger | 9310da0 | 2012-02-07 01:22:50 +0100 | [diff] [blame] | 3 | depends on HAS_IOMEM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | |
| 5 | config MTD_PMC551 |
| 6 | tristate "Ramix PMC551 PCI Mezzanine RAM card support" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 7 | depends on PCI |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | ---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 | |
| 23 | config 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 | |
| 31 | config 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 | |
| 39 | config MTD_MS02NV |
| 40 | tristate "DEC MS02-NV NVRAM module support" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 41 | depends on MACH_DECSTATION |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | 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 Michlmayr | be21ce1 | 2006-03-20 04:40:26 +0000 | [diff] [blame] | 48 | 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. Patrakov | 39f5fb3 | 2007-03-16 18:28:43 +0500 | [diff] [blame] | 50 | say M here and read <file:Documentation/kbuild/modules.txt>. |
Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 51 | The module will be called ms02-nv. |
Martin Michlmayr | be21ce1 | 2006-03-20 04:40:26 +0000 | [diff] [blame] | 52 | |
Bryan Huntsman | 3f2bc4d | 2011-08-16 17:27:22 -0700 | [diff] [blame] | 53 | config 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 Tummala | f57ae88 | 2012-04-02 13:53:33 +0530 | [diff] [blame] | 63 | config 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 Brownell | 1d6432f | 2006-01-08 13:34:22 -0800 | [diff] [blame] | 76 | config MTD_DATAFLASH |
| 77 | tristate "Support for AT45xxx DataFlash" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 78 | depends on SPI_MASTER && EXPERIMENTAL |
David Brownell | 1d6432f | 2006-01-08 13:34:22 -0800 | [diff] [blame] | 79 | 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 Brownell | 8c64038 | 2008-08-06 21:55:14 -0700 | [diff] [blame] | 84 | config 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 Brownell | 34a8244 | 2008-07-30 12:35:05 -0700 | [diff] [blame] | 94 | config 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 Lavender | 2f9f762 | 2006-01-08 13:34:27 -0800 | [diff] [blame] | 105 | config MTD_M25P80 |
David Brownell | fa0a8c7 | 2007-06-24 15:12:35 -0700 | [diff] [blame] | 106 | tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 107 | depends on SPI_MASTER && EXPERIMENTAL |
Mike Lavender | 2f9f762 | 2006-01-08 13:34:27 -0800 | [diff] [blame] | 108 | help |
David Brownell | fa0a8c7 | 2007-06-24 15:12:35 -0700 | [diff] [blame] | 109 | 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 Lavender | 2f9f762 | 2006-01-08 13:34:27 -0800 | [diff] [blame] | 121 | |
Bryan Wu | 2230b76 | 2008-04-25 12:07:32 +0800 | [diff] [blame] | 122 | config 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 Hashim | f18dbbb | 2012-01-12 14:38:57 +0100 | [diff] [blame] | 129 | config 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 Mallon | ec77e21 | 2009-09-18 12:51:40 -0700 | [diff] [blame] | 136 | config 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 Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 146 | config MTD_SLRAM |
| 147 | tristate "Uncached system RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 148 | 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 | |
| 153 | config MTD_PHRAM |
| 154 | tristate "Physical system RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 155 | 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 | |
| 162 | config MTD_LART |
| 163 | tristate "28F160xx flash driver for LART" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 164 | depends on SA1100_LART |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 165 | 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 | |
| 170 | config MTD_MTDRAM |
| 171 | tristate "Test driver using RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 172 | 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 | |
| 177 | config 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 | |
| 187 | config 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) |
| 198 | config 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 Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 206 | allocating space from Linux's available memory. Otherwise, leave |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 207 | this set to zero. Most people will want to leave this as zero. |
| 208 | |
Joern Engel | acc8dad | 2006-04-10 22:54:17 -0700 | [diff] [blame] | 209 | config MTD_BLOCK2MTD |
| 210 | tristate "MTD using block device" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 211 | depends on BLOCK |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 212 | 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 Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 221 | comment "Disk-On-Chip Device Drivers" |
| 222 | |
| 223 | config MTD_DOC2000 |
| 224 | tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 225 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 226 | 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 | |
| 246 | config MTD_DOC2001 |
| 247 | tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED)" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 248 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 249 | select MTD_DOCPROBE |
| 250 | select MTD_NAND_IDS |
| 251 | ---help--- |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 252 | This provides an alternative MTD device driver for the M-Systems |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 253 | 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 | |
| 268 | config MTD_DOC2001PLUS |
| 269 | tristate "M-Systems Disk-On-Chip Millennium Plus" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 270 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 271 | 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 Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 279 | to emulate a block device by using a kind of file system on the |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 280 | 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 Jarzmik | efa2ca7 | 2011-10-05 15:22:34 +0200 | [diff] [blame] | 286 | config MTD_DOCG3 |
| 287 | tristate "M-Systems Disk-On-Chip G3" |
Robert Jarzmik | d13d19e | 2011-11-19 16:02:55 +0100 | [diff] [blame] | 288 | select BCH |
| 289 | select BCH_CONST_PARAMS |
Robert Jarzmik | efa2ca7 | 2011-10-05 15:22:34 +0200 | [diff] [blame] | 290 | ---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 Jarzmik | d13d19e | 2011-11-19 16:02:55 +0100 | [diff] [blame] | 298 | if MTD_DOCG3 |
| 299 | config BCH_CONST_M |
| 300 | default 14 |
| 301 | config BCH_CONST_T |
| 302 | default 4 |
| 303 | endif |
| 304 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 305 | config MTD_DOCPROBE |
| 306 | tristate |
| 307 | select MTD_DOCECC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 308 | |
| 309 | config MTD_DOCECC |
| 310 | tristate |
| 311 | |
| 312 | config 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 | |
| 321 | config MTD_DOCPROBE_ADDRESS |
| 322 | hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED |
| 323 | depends on MTD_DOCPROBE |
Paul Bolle | 6be55f7 | 2011-10-25 11:00:07 +0200 | [diff] [blame] | 324 | default "0x0" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 325 | ---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 | |
| 338 | config 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 | |
| 348 | config 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 | |
| 360 | endmenu |