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 | |
David Brownell | 1d6432f | 2006-01-08 13:34:22 -0800 | [diff] [blame] | 53 | config MTD_DATAFLASH |
| 54 | tristate "Support for AT45xxx DataFlash" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 55 | depends on SPI_MASTER && EXPERIMENTAL |
David Brownell | 1d6432f | 2006-01-08 13:34:22 -0800 | [diff] [blame] | 56 | help |
| 57 | This enables access to AT45xxx DataFlash chips, using SPI. |
| 58 | Sometimes DataFlash chips are packaged inside MMC-format |
| 59 | cards; at this writing, the MMC stack won't handle those. |
| 60 | |
David Brownell | 8c64038 | 2008-08-06 21:55:14 -0700 | [diff] [blame] | 61 | config MTD_DATAFLASH_WRITE_VERIFY |
| 62 | bool "Verify DataFlash page writes" |
| 63 | depends on MTD_DATAFLASH |
| 64 | help |
| 65 | This adds an extra check when data is written to the flash. |
| 66 | It may help if you are verifying chip setup (timings etc) on |
| 67 | your board. There is a rare possibility that even though the |
| 68 | device thinks the write was successful, a bit could have been |
| 69 | flipped accidentally due to device wear or something else. |
| 70 | |
David Brownell | 34a8244 | 2008-07-30 12:35:05 -0700 | [diff] [blame] | 71 | config MTD_DATAFLASH_OTP |
| 72 | bool "DataFlash OTP support (Security Register)" |
| 73 | depends on MTD_DATAFLASH |
| 74 | select HAVE_MTD_OTP |
| 75 | help |
| 76 | Newer DataFlash chips (revisions C and D) support 128 bytes of |
| 77 | one-time-programmable (OTP) data. The first half may be written |
| 78 | (once) with up to 64 bytes of data, such as a serial number or |
| 79 | other key product data. The second half is programmed with a |
| 80 | unique-to-each-chip bit pattern at the factory. |
| 81 | |
Mike Lavender | 2f9f762 | 2006-01-08 13:34:27 -0800 | [diff] [blame] | 82 | config MTD_M25P80 |
David Brownell | fa0a8c7 | 2007-06-24 15:12:35 -0700 | [diff] [blame] | 83 | tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 84 | depends on SPI_MASTER && EXPERIMENTAL |
Mike Lavender | 2f9f762 | 2006-01-08 13:34:27 -0800 | [diff] [blame] | 85 | help |
David Brownell | fa0a8c7 | 2007-06-24 15:12:35 -0700 | [diff] [blame] | 86 | This enables access to most modern SPI flash chips, used for |
| 87 | program and data storage. Series supported include Atmel AT26DF, |
| 88 | Spansion S25SL, SST 25VF, ST M25P, and Winbond W25X. Other chips |
| 89 | are supported as well. See the driver source for the current list, |
| 90 | or to add other chips. |
| 91 | |
| 92 | Note that the original DataFlash chips (AT45 series, not AT26DF), |
| 93 | need an entirely different driver. |
| 94 | |
| 95 | Set up your spi devices with the right board-specific platform data, |
| 96 | if you want to specify device partitioning or to use a device which |
| 97 | doesn't support the JEDEC ID instruction. |
Mike Lavender | 2f9f762 | 2006-01-08 13:34:27 -0800 | [diff] [blame] | 98 | |
Bryan Wu | 2230b76 | 2008-04-25 12:07:32 +0800 | [diff] [blame] | 99 | config M25PXX_USE_FAST_READ |
| 100 | bool "Use FAST_READ OPCode allowing SPI CLK <= 50MHz" |
| 101 | depends on MTD_M25P80 |
| 102 | default y |
| 103 | help |
| 104 | This option enables FAST_READ access supported by ST M25Pxx. |
| 105 | |
Shiraz Hashim | f18dbbb | 2012-01-12 14:38:57 +0100 | [diff] [blame] | 106 | config MTD_SPEAR_SMI |
| 107 | tristate "SPEAR MTD NOR Support through SMI controller" |
| 108 | depends on PLAT_SPEAR |
| 109 | default y |
| 110 | help |
| 111 | This enable SNOR support on SPEAR platforms using SMI controller |
| 112 | |
Ryan Mallon | ec77e21 | 2009-09-18 12:51:40 -0700 | [diff] [blame] | 113 | config MTD_SST25L |
| 114 | tristate "Support SST25L (non JEDEC) SPI Flash chips" |
| 115 | depends on SPI_MASTER |
| 116 | help |
| 117 | This enables access to the non JEDEC SST25L SPI flash chips, used |
| 118 | for program and data storage. |
| 119 | |
| 120 | Set up your spi devices with the right board-specific platform data, |
| 121 | if you want to specify device partitioning. |
| 122 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 123 | config MTD_SLRAM |
| 124 | tristate "Uncached system RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 125 | help |
| 126 | If your CPU cannot cache all of the physical memory in your machine, |
| 127 | you can still use it for storage or swap by using this driver to |
| 128 | present it to the system as a Memory Technology Device. |
| 129 | |
| 130 | config MTD_PHRAM |
| 131 | tristate "Physical system RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 132 | help |
| 133 | This is a re-implementation of the slram driver above. |
| 134 | |
| 135 | Use this driver to access physical memory that the kernel proper |
| 136 | doesn't have access to, memory beyond the mem=xxx limit, nvram, |
| 137 | memory on the video card, etc... |
| 138 | |
| 139 | config MTD_LART |
| 140 | tristate "28F160xx flash driver for LART" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 141 | depends on SA1100_LART |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 142 | help |
| 143 | This enables the flash driver for LART. Please note that you do |
| 144 | not need any mapping/chip driver for LART. This one does it all |
| 145 | for you, so go disable all of those if you enabled some of them (: |
| 146 | |
| 147 | config MTD_MTDRAM |
| 148 | tristate "Test driver using RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 149 | help |
| 150 | This enables a test MTD device driver which uses vmalloc() to |
| 151 | provide storage. You probably want to say 'N' unless you're |
| 152 | testing stuff. |
| 153 | |
| 154 | config MTDRAM_TOTAL_SIZE |
| 155 | int "MTDRAM device size in KiB" |
| 156 | depends on MTD_MTDRAM |
| 157 | default "4096" |
| 158 | help |
| 159 | This allows you to configure the total size of the MTD device |
| 160 | emulated by the MTDRAM driver. If the MTDRAM driver is built |
| 161 | as a module, it is also possible to specify this as a parameter when |
| 162 | loading the module. |
| 163 | |
| 164 | config MTDRAM_ERASE_SIZE |
| 165 | int "MTDRAM erase block size in KiB" |
| 166 | depends on MTD_MTDRAM |
| 167 | default "128" |
| 168 | help |
| 169 | This allows you to configure the size of the erase blocks in the |
| 170 | device emulated by the MTDRAM driver. If the MTDRAM driver is built |
| 171 | as a module, it is also possible to specify this as a parameter when |
| 172 | loading the module. |
| 173 | |
| 174 | #If not a module (I don't want to test it as a module) |
| 175 | config MTDRAM_ABS_POS |
| 176 | hex "SRAM Hexadecimal Absolute position or 0" |
| 177 | depends on MTD_MTDRAM=y |
| 178 | default "0" |
| 179 | help |
| 180 | If you have system RAM accessible by the CPU but not used by Linux |
| 181 | in normal operation, you can give the physical address at which the |
| 182 | available RAM starts, and the MTDRAM driver will use it instead of |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 183 | allocating space from Linux's available memory. Otherwise, leave |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 184 | this set to zero. Most people will want to leave this as zero. |
| 185 | |
Joern Engel | acc8dad | 2006-04-10 22:54:17 -0700 | [diff] [blame] | 186 | config MTD_BLOCK2MTD |
| 187 | tristate "MTD using block device" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 188 | depends on BLOCK |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 189 | help |
| 190 | This driver allows a block device to appear as an MTD. It would |
| 191 | generally be used in the following cases: |
| 192 | |
| 193 | Using Compact Flash as an MTD, these usually present themselves to |
| 194 | the system as an ATA drive. |
| 195 | Testing MTD users (eg JFFS2) on large media and media that might |
| 196 | be removed during a write (using the floppy drive). |
| 197 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 198 | comment "Disk-On-Chip Device Drivers" |
| 199 | |
| 200 | config MTD_DOC2000 |
| 201 | tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 202 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 203 | select MTD_DOCPROBE |
| 204 | select MTD_NAND_IDS |
| 205 | ---help--- |
| 206 | This provides an MTD device driver for the M-Systems DiskOnChip |
| 207 | 2000 and Millennium devices. Originally designed for the DiskOnChip |
| 208 | 2000, it also now includes support for the DiskOnChip Millennium. |
| 209 | If you have problems with this driver and the DiskOnChip Millennium, |
| 210 | you may wish to try the alternative Millennium driver below. To use |
| 211 | the alternative driver, you will need to undefine DOC_SINGLE_DRIVER |
| 212 | in the <file:drivers/mtd/devices/docprobe.c> source code. |
| 213 | |
| 214 | If you use this device, you probably also want to enable the NFTL |
| 215 | 'NAND Flash Translation Layer' option below, which is used to |
| 216 | emulate a block device by using a kind of file system on the flash |
| 217 | chips. |
| 218 | |
| 219 | NOTE: This driver is deprecated and will probably be removed soon. |
| 220 | Please try the new DiskOnChip driver under "NAND Flash Device |
| 221 | Drivers". |
| 222 | |
| 223 | config MTD_DOC2001 |
| 224 | tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (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--- |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 229 | This provides an alternative MTD device driver for the M-Systems |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 230 | 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 | |
| 245 | config MTD_DOC2001PLUS |
| 246 | tristate "M-Systems Disk-On-Chip Millennium Plus" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 247 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 248 | select MTD_DOCPROBE |
| 249 | select MTD_NAND_IDS |
| 250 | ---help--- |
| 251 | This provides an MTD device driver for the M-Systems DiskOnChip |
| 252 | Millennium Plus devices. |
| 253 | |
| 254 | If you use this device, you probably also want to enable the INFTL |
| 255 | 'Inverse NAND Flash Translation Layer' option below, which is used |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 256 | 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] | 257 | flash chips. |
| 258 | |
| 259 | NOTE: This driver will soon be replaced by the new DiskOnChip driver |
| 260 | under "NAND Flash Device Drivers" (currently that driver does not |
| 261 | support all Millennium Plus devices). |
| 262 | |
Robert Jarzmik | efa2ca7 | 2011-10-05 15:22:34 +0200 | [diff] [blame] | 263 | config MTD_DOCG3 |
| 264 | tristate "M-Systems Disk-On-Chip G3" |
Robert Jarzmik | d13d19e | 2011-11-19 16:02:55 +0100 | [diff] [blame] | 265 | select BCH |
| 266 | select BCH_CONST_PARAMS |
Robert Jarzmik | efa2ca7 | 2011-10-05 15:22:34 +0200 | [diff] [blame] | 267 | ---help--- |
| 268 | This provides an MTD device driver for the M-Systems DiskOnChip |
| 269 | G3 devices. |
| 270 | |
| 271 | The driver provides access to G3 DiskOnChip, distributed by |
| 272 | M-Systems and now Sandisk. The support is very experimental, |
| 273 | and doesn't give access to any write operations. |
| 274 | |
Robert Jarzmik | d13d19e | 2011-11-19 16:02:55 +0100 | [diff] [blame] | 275 | if MTD_DOCG3 |
| 276 | config BCH_CONST_M |
| 277 | default 14 |
| 278 | config BCH_CONST_T |
| 279 | default 4 |
| 280 | endif |
| 281 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 282 | config MTD_DOCPROBE |
| 283 | tristate |
| 284 | select MTD_DOCECC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 285 | |
| 286 | config MTD_DOCECC |
| 287 | tristate |
| 288 | |
| 289 | config MTD_DOCPROBE_ADVANCED |
| 290 | bool "Advanced detection options for DiskOnChip" |
| 291 | depends on MTD_DOCPROBE |
| 292 | help |
| 293 | This option allows you to specify nonstandard address at which to |
| 294 | probe for a DiskOnChip, or to change the detection options. You |
| 295 | are unlikely to need any of this unless you are using LinuxBIOS. |
| 296 | Say 'N'. |
| 297 | |
| 298 | config MTD_DOCPROBE_ADDRESS |
| 299 | hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED |
| 300 | depends on MTD_DOCPROBE |
Paul Bolle | 6be55f7 | 2011-10-25 11:00:07 +0200 | [diff] [blame] | 301 | default "0x0" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 302 | ---help--- |
| 303 | By default, the probe for DiskOnChip devices will look for a |
| 304 | DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. |
| 305 | This option allows you to specify a single address at which to probe |
| 306 | for the device, which is useful if you have other devices in that |
| 307 | range which get upset when they are probed. |
| 308 | |
| 309 | (Note that on PowerPC, the normal probe will only check at |
| 310 | 0xE4000000.) |
| 311 | |
| 312 | Normally, you should leave this set to zero, to allow the probe at |
| 313 | the normal addresses. |
| 314 | |
| 315 | config MTD_DOCPROBE_HIGH |
| 316 | bool "Probe high addresses" |
| 317 | depends on MTD_DOCPROBE_ADVANCED |
| 318 | help |
| 319 | By default, the probe for DiskOnChip devices will look for a |
| 320 | DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. |
| 321 | This option changes to make it probe between 0xFFFC8000 and |
| 322 | 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be |
| 323 | useful to you. Say 'N'. |
| 324 | |
| 325 | config MTD_DOCPROBE_55AA |
| 326 | bool "Probe for 0x55 0xAA BIOS Extension Signature" |
| 327 | depends on MTD_DOCPROBE_ADVANCED |
| 328 | help |
| 329 | Check for the 0x55 0xAA signature of a DiskOnChip, and do not |
| 330 | continue with probing if it is absent. The signature will always be |
| 331 | present for a DiskOnChip 2000 or a normal DiskOnChip Millennium. |
| 332 | Only if you have overwritten the first block of a DiskOnChip |
| 333 | Millennium will it be absent. Enable this option if you are using |
| 334 | LinuxBIOS or if you need to recover a DiskOnChip Millennium on which |
| 335 | you have managed to wipe the first block. |
| 336 | |
| 337 | endmenu |