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" |
Kees Cook | a11ed37 | 2012-10-02 11:17:51 -0700 | [diff] [blame] | 55 | depends on SPI_MASTER |
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, ...)" |
Kees Cook | a11ed37 | 2012-10-02 11:17:51 -0700 | [diff] [blame] | 84 | depends on SPI_MASTER |
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 |
Marek Vasut | b8c2d65 | 2012-06-23 20:40:43 +0200 | [diff] [blame] | 100 | bool "Use FAST_READ OPCode allowing SPI CLK >= 50MHz" |
Bryan Wu | 2230b76 | 2008-04-25 12:07:32 +0800 | [diff] [blame] | 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 | |
Rafał Miłecki | 5fe42d5 | 2012-09-17 11:50:49 +0200 | [diff] [blame] | 123 | config MTD_BCM47XXSFLASH |
| 124 | tristate "R/O support for serial flash on BCMA bus" |
| 125 | depends on BCMA_SFLASH |
| 126 | help |
| 127 | BCMA bus can have various flash memories attached, they are |
| 128 | registered by bcma as platform devices. This enables driver for |
| 129 | serial flash memories (only read-only mode is implemented). |
| 130 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 131 | config MTD_SLRAM |
| 132 | tristate "Uncached system RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 133 | help |
| 134 | If your CPU cannot cache all of the physical memory in your machine, |
| 135 | you can still use it for storage or swap by using this driver to |
| 136 | present it to the system as a Memory Technology Device. |
| 137 | |
| 138 | config MTD_PHRAM |
| 139 | tristate "Physical system RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 140 | help |
| 141 | This is a re-implementation of the slram driver above. |
| 142 | |
| 143 | Use this driver to access physical memory that the kernel proper |
| 144 | doesn't have access to, memory beyond the mem=xxx limit, nvram, |
| 145 | memory on the video card, etc... |
| 146 | |
| 147 | config MTD_LART |
| 148 | tristate "28F160xx flash driver for LART" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 149 | depends on SA1100_LART |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 150 | help |
| 151 | This enables the flash driver for LART. Please note that you do |
| 152 | not need any mapping/chip driver for LART. This one does it all |
| 153 | for you, so go disable all of those if you enabled some of them (: |
| 154 | |
| 155 | config MTD_MTDRAM |
| 156 | tristate "Test driver using RAM" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 157 | help |
| 158 | This enables a test MTD device driver which uses vmalloc() to |
| 159 | provide storage. You probably want to say 'N' unless you're |
| 160 | testing stuff. |
| 161 | |
| 162 | config MTDRAM_TOTAL_SIZE |
| 163 | int "MTDRAM device size in KiB" |
| 164 | depends on MTD_MTDRAM |
| 165 | default "4096" |
| 166 | help |
| 167 | This allows you to configure the total size of the MTD device |
| 168 | emulated by the MTDRAM driver. If the MTDRAM driver is built |
| 169 | as a module, it is also possible to specify this as a parameter when |
| 170 | loading the module. |
| 171 | |
| 172 | config MTDRAM_ERASE_SIZE |
| 173 | int "MTDRAM erase block size in KiB" |
| 174 | depends on MTD_MTDRAM |
| 175 | default "128" |
| 176 | help |
| 177 | This allows you to configure the size of the erase blocks in the |
| 178 | device emulated by the MTDRAM driver. If the MTDRAM driver is built |
| 179 | as a module, it is also possible to specify this as a parameter when |
| 180 | loading the module. |
| 181 | |
| 182 | #If not a module (I don't want to test it as a module) |
| 183 | config MTDRAM_ABS_POS |
| 184 | hex "SRAM Hexadecimal Absolute position or 0" |
| 185 | depends on MTD_MTDRAM=y |
| 186 | default "0" |
| 187 | help |
| 188 | If you have system RAM accessible by the CPU but not used by Linux |
| 189 | in normal operation, you can give the physical address at which the |
| 190 | available RAM starts, and the MTDRAM driver will use it instead of |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 191 | allocating space from Linux's available memory. Otherwise, leave |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 192 | this set to zero. Most people will want to leave this as zero. |
| 193 | |
Joern Engel | acc8dad | 2006-04-10 22:54:17 -0700 | [diff] [blame] | 194 | config MTD_BLOCK2MTD |
| 195 | tristate "MTD using block device" |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 196 | depends on BLOCK |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 197 | help |
| 198 | This driver allows a block device to appear as an MTD. It would |
| 199 | generally be used in the following cases: |
| 200 | |
| 201 | Using Compact Flash as an MTD, these usually present themselves to |
| 202 | the system as an ATA drive. |
| 203 | Testing MTD users (eg JFFS2) on large media and media that might |
| 204 | be removed during a write (using the floppy drive). |
| 205 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 206 | comment "Disk-On-Chip Device Drivers" |
| 207 | |
| 208 | config MTD_DOC2000 |
| 209 | tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 210 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 211 | select MTD_DOCPROBE |
| 212 | select MTD_NAND_IDS |
| 213 | ---help--- |
| 214 | This provides an MTD device driver for the M-Systems DiskOnChip |
| 215 | 2000 and Millennium devices. Originally designed for the DiskOnChip |
| 216 | 2000, it also now includes support for the DiskOnChip Millennium. |
| 217 | If you have problems with this driver and the DiskOnChip Millennium, |
| 218 | you may wish to try the alternative Millennium driver below. To use |
| 219 | the alternative driver, you will need to undefine DOC_SINGLE_DRIVER |
| 220 | in the <file:drivers/mtd/devices/docprobe.c> source code. |
| 221 | |
| 222 | If you use this device, you probably also want to enable the NFTL |
| 223 | 'NAND Flash Translation Layer' option below, which is used to |
| 224 | emulate a block device by using a kind of file system on the flash |
| 225 | chips. |
| 226 | |
| 227 | NOTE: This driver is deprecated and will probably be removed soon. |
| 228 | Please try the new DiskOnChip driver under "NAND Flash Device |
| 229 | Drivers". |
| 230 | |
| 231 | config MTD_DOC2001 |
| 232 | tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED)" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 233 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 234 | select MTD_DOCPROBE |
| 235 | select MTD_NAND_IDS |
| 236 | ---help--- |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 237 | This provides an alternative MTD device driver for the M-Systems |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 238 | DiskOnChip Millennium devices. Use this if you have problems with |
| 239 | the combined DiskOnChip 2000 and Millennium driver above. To get |
| 240 | the DiskOnChip probe code to load and use this driver instead of |
| 241 | the other one, you will need to undefine DOC_SINGLE_DRIVER near |
| 242 | the beginning of <file:drivers/mtd/devices/docprobe.c>. |
| 243 | |
| 244 | If you use this device, you probably also want to enable the NFTL |
| 245 | 'NAND Flash Translation Layer' option below, which is used to |
| 246 | emulate a block device by using a kind of file system on the flash |
| 247 | chips. |
| 248 | |
| 249 | NOTE: This driver is deprecated and will probably be removed soon. |
| 250 | Please try the new DiskOnChip driver under "NAND Flash Device |
| 251 | Drivers". |
| 252 | |
| 253 | config MTD_DOC2001PLUS |
| 254 | tristate "M-Systems Disk-On-Chip Millennium Plus" |
Fabio Estevam | b60ef99 | 2012-01-03 16:35:25 -0200 | [diff] [blame] | 255 | depends on MTD_NAND |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 256 | select MTD_DOCPROBE |
| 257 | select MTD_NAND_IDS |
| 258 | ---help--- |
| 259 | This provides an MTD device driver for the M-Systems DiskOnChip |
| 260 | Millennium Plus devices. |
| 261 | |
| 262 | If you use this device, you probably also want to enable the INFTL |
| 263 | 'Inverse NAND Flash Translation Layer' option below, which is used |
Thomas Gleixner | e5580fb | 2005-11-07 11:15:40 +0000 | [diff] [blame] | 264 | 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] | 265 | flash chips. |
| 266 | |
| 267 | NOTE: This driver will soon be replaced by the new DiskOnChip driver |
| 268 | under "NAND Flash Device Drivers" (currently that driver does not |
| 269 | support all Millennium Plus devices). |
| 270 | |
Robert Jarzmik | efa2ca7 | 2011-10-05 15:22:34 +0200 | [diff] [blame] | 271 | config MTD_DOCG3 |
| 272 | tristate "M-Systems Disk-On-Chip G3" |
Robert Jarzmik | d13d19e | 2011-11-19 16:02:55 +0100 | [diff] [blame] | 273 | select BCH |
| 274 | select BCH_CONST_PARAMS |
Robert Jarzmik | bf65aaa | 2013-01-14 20:01:37 +0100 | [diff] [blame] | 275 | select BITREVERSE |
Robert Jarzmik | efa2ca7 | 2011-10-05 15:22:34 +0200 | [diff] [blame] | 276 | ---help--- |
| 277 | This provides an MTD device driver for the M-Systems DiskOnChip |
| 278 | G3 devices. |
| 279 | |
| 280 | The driver provides access to G3 DiskOnChip, distributed by |
| 281 | M-Systems and now Sandisk. The support is very experimental, |
| 282 | and doesn't give access to any write operations. |
| 283 | |
Robert Jarzmik | d13d19e | 2011-11-19 16:02:55 +0100 | [diff] [blame] | 284 | if MTD_DOCG3 |
| 285 | config BCH_CONST_M |
| 286 | default 14 |
| 287 | config BCH_CONST_T |
| 288 | default 4 |
| 289 | endif |
| 290 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 291 | config MTD_DOCPROBE |
| 292 | tristate |
| 293 | select MTD_DOCECC |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 294 | |
| 295 | config MTD_DOCECC |
| 296 | tristate |
| 297 | |
| 298 | config MTD_DOCPROBE_ADVANCED |
| 299 | bool "Advanced detection options for DiskOnChip" |
| 300 | depends on MTD_DOCPROBE |
| 301 | help |
| 302 | This option allows you to specify nonstandard address at which to |
| 303 | probe for a DiskOnChip, or to change the detection options. You |
| 304 | are unlikely to need any of this unless you are using LinuxBIOS. |
| 305 | Say 'N'. |
| 306 | |
| 307 | config MTD_DOCPROBE_ADDRESS |
| 308 | hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED |
| 309 | depends on MTD_DOCPROBE |
Paul Bolle | 6be55f7 | 2011-10-25 11:00:07 +0200 | [diff] [blame] | 310 | default "0x0" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 311 | ---help--- |
| 312 | By default, the probe for DiskOnChip devices will look for a |
| 313 | DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. |
| 314 | This option allows you to specify a single address at which to probe |
| 315 | for the device, which is useful if you have other devices in that |
| 316 | range which get upset when they are probed. |
| 317 | |
| 318 | (Note that on PowerPC, the normal probe will only check at |
| 319 | 0xE4000000.) |
| 320 | |
| 321 | Normally, you should leave this set to zero, to allow the probe at |
| 322 | the normal addresses. |
| 323 | |
| 324 | config MTD_DOCPROBE_HIGH |
| 325 | bool "Probe high addresses" |
| 326 | depends on MTD_DOCPROBE_ADVANCED |
| 327 | help |
| 328 | By default, the probe for DiskOnChip devices will look for a |
| 329 | DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. |
| 330 | This option changes to make it probe between 0xFFFC8000 and |
| 331 | 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be |
| 332 | useful to you. Say 'N'. |
| 333 | |
| 334 | config MTD_DOCPROBE_55AA |
| 335 | bool "Probe for 0x55 0xAA BIOS Extension Signature" |
| 336 | depends on MTD_DOCPROBE_ADVANCED |
| 337 | help |
| 338 | Check for the 0x55 0xAA signature of a DiskOnChip, and do not |
| 339 | continue with probing if it is absent. The signature will always be |
| 340 | present for a DiskOnChip 2000 or a normal DiskOnChip Millennium. |
| 341 | Only if you have overwritten the first block of a DiskOnChip |
| 342 | Millennium will it be absent. Enable this option if you are using |
| 343 | LinuxBIOS or if you need to recover a DiskOnChip Millennium on which |
| 344 | you have managed to wipe the first block. |
| 345 | |
| 346 | endmenu |