| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # drivers/mtd/nand/Kconfig | 
| Thomas Gleixner | 61b03bd | 2005-11-07 11:15:49 +0000 | [diff] [blame] | 2 | # $Id: Kconfig,v 1.35 2005/11/07 11:14:30 gleixner Exp $ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 |  | 
 | 4 | menu "NAND Flash Device Drivers" | 
 | 5 | 	depends on MTD!=n | 
 | 6 |  | 
 | 7 | config MTD_NAND | 
 | 8 | 	tristate "NAND Device Support" | 
 | 9 | 	depends on MTD | 
 | 10 | 	select MTD_NAND_IDS | 
 | 11 | 	help | 
 | 12 | 	  This enables support for accessing all type of NAND flash | 
 | 13 | 	  devices. For further information see | 
| Artem B. Bityutskiy | 220b0f5 | 2006-07-05 11:04:02 +0400 | [diff] [blame] | 14 | 	  <http://www.linux-mtd.infradead.org/doc/nand.html>. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 |  | 
 | 16 | config MTD_NAND_VERIFY_WRITE | 
 | 17 | 	bool "Verify NAND page writes" | 
 | 18 | 	depends on MTD_NAND | 
 | 19 | 	help | 
 | 20 | 	  This adds an extra check when data is written to the flash. The | 
 | 21 | 	  NAND flash device internally checks only bits transitioning | 
 | 22 | 	  from 1 to 0. There is a rare possibility that even though the | 
 | 23 | 	  device thinks the write was successful, a bit could have been | 
| Matt LaPlante | 0950960 | 2006-10-03 22:31:37 +0200 | [diff] [blame] | 24 | 	  flipped accidentally due to device wear or something else. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 |  | 
| Thomas Gleixner | 819d6a3 | 2006-05-23 11:32:45 +0200 | [diff] [blame] | 26 | config MTD_NAND_ECC_SMC | 
 | 27 | 	bool "NAND ECC Smart Media byte order" | 
 | 28 | 	depends on MTD_NAND | 
 | 29 | 	default n | 
 | 30 | 	help | 
 | 31 | 	  Software ECC according to the Smart Media Specification. | 
 | 32 | 	  The original Linux implementation had byte 0 and 1 swapped. | 
 | 33 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 34 | config MTD_NAND_AUTCPU12 | 
 | 35 | 	tristate "SmartMediaCard on autronix autcpu12 board" | 
| Thomas Gleixner | 3096617 | 2005-11-07 02:49:43 +0100 | [diff] [blame] | 36 | 	depends on MTD_NAND && ARCH_AUTCPU12 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | 	help | 
| Thomas Gleixner | 61b03bd | 2005-11-07 11:15:49 +0000 | [diff] [blame] | 38 | 	  This enables the driver for the autronix autcpu12 board to | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 39 | 	  access the SmartMediaCard. | 
 | 40 |  | 
 | 41 | config MTD_NAND_EDB7312 | 
 | 42 | 	tristate "Support for Cirrus Logic EBD7312 evaluation board" | 
| Thomas Gleixner | 3096617 | 2005-11-07 02:49:43 +0100 | [diff] [blame] | 43 | 	depends on MTD_NAND && ARCH_EDB7312 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 44 | 	help | 
| Thomas Gleixner | 61b03bd | 2005-11-07 11:15:49 +0000 | [diff] [blame] | 45 | 	  This enables the driver for the Cirrus Logic EBD7312 evaluation | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 46 | 	  board to access the onboard NAND Flash. | 
 | 47 |  | 
 | 48 | config MTD_NAND_H1900 | 
 | 49 | 	tristate "iPAQ H1900 flash" | 
| Thomas Gleixner | 3096617 | 2005-11-07 02:49:43 +0100 | [diff] [blame] | 50 | 	depends on MTD_NAND && ARCH_PXA && MTD_PARTITIONS | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 51 | 	help | 
 | 52 | 	  This enables the driver for the iPAQ h1900 flash. | 
 | 53 |  | 
 | 54 | config MTD_NAND_SPIA | 
 | 55 | 	tristate "NAND Flash device on SPIA board" | 
| Thomas Gleixner | 3096617 | 2005-11-07 02:49:43 +0100 | [diff] [blame] | 56 | 	depends on ARCH_P720T && MTD_NAND | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 57 | 	help | 
 | 58 | 	  If you had to ask, you don't have one. Say 'N'. | 
 | 59 |  | 
| Jonathan McDowell | 3d12c0c | 2006-05-21 18:11:55 +0100 | [diff] [blame] | 60 | config MTD_NAND_AMS_DELTA | 
 | 61 | 	tristate "NAND Flash device on Amstrad E3" | 
 | 62 | 	depends on MACH_AMS_DELTA && MTD_NAND | 
 | 63 | 	help | 
 | 64 | 	  Support for NAND flash on Amstrad E3 (Delta). | 
 | 65 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 66 | config MTD_NAND_TOTO | 
 | 67 | 	tristate "NAND Flash device on TOTO board" | 
| Thomas Gleixner | 85b85fe | 2006-05-23 22:03:39 +0200 | [diff] [blame] | 68 | 	depends on ARCH_OMAP && MTD_NAND && BROKEN | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 69 | 	help | 
 | 70 | 	  Support for NAND flash on Texas Instruments Toto platform. | 
 | 71 |  | 
| Lennert Buytenhek | 7d532dd | 2006-04-30 10:36:38 +0200 | [diff] [blame] | 72 | config MTD_NAND_TS7250 | 
 | 73 | 	tristate "NAND Flash device on TS-7250 board" | 
 | 74 | 	depends on MACH_TS72XX && MTD_NAND | 
 | 75 | 	help | 
 | 76 | 	  Support for NAND flash on Technologic Systems TS-7250 platform. | 
 | 77 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 78 | config MTD_NAND_IDS | 
 | 79 | 	tristate | 
 | 80 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 81 | config MTD_NAND_AU1550 | 
| Pete Popov | ef6f0d1 | 2005-09-23 02:44:58 +0100 | [diff] [blame] | 82 | 	tristate "Au1550/1200 NAND support" | 
 | 83 | 	depends on (SOC_AU1200 || SOC_AU1550) && MTD_NAND | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 84 | 	help | 
 | 85 | 	  This enables the driver for the NAND flash controller on the | 
 | 86 | 	  AMD/Alchemy 1550 SOC. | 
 | 87 |  | 
 | 88 | config MTD_NAND_RTC_FROM4 | 
 | 89 | 	tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)" | 
 | 90 | 	depends on MTD_NAND && SH_SOLUTION_ENGINE | 
 | 91 | 	select REED_SOLOMON | 
 | 92 | 	select REED_SOLOMON_DEC8 | 
| Adrian Bunk | 1605cd3 | 2006-11-22 05:38:11 +0100 | [diff] [blame] | 93 | 	select BITREVERSE | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 94 | 	help | 
| Thomas Gleixner | 61b03bd | 2005-11-07 11:15:49 +0000 | [diff] [blame] | 95 | 	  This enables the driver for the Renesas Technology AG-AND | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 96 | 	  flash interface board (FROM_BOARD4) | 
 | 97 |  | 
 | 98 | config MTD_NAND_PPCHAMELEONEVB | 
 | 99 | 	tristate "NAND Flash device on PPChameleonEVB board" | 
| Thomas Gleixner | 85b85fe | 2006-05-23 22:03:39 +0200 | [diff] [blame] | 100 | 	depends on PPCHAMELEONEVB && MTD_NAND && BROKEN | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 101 | 	help | 
 | 102 | 	  This enables the NAND flash driver on the PPChameleon EVB Board. | 
 | 103 |  | 
 | 104 | config MTD_NAND_S3C2410 | 
| Ben Dooks | a4f957f | 2005-06-20 12:48:25 +0100 | [diff] [blame] | 105 | 	tristate "NAND Flash support for S3C2410/S3C2440 SoC" | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 106 | 	depends on ARCH_S3C2410 && MTD_NAND | 
 | 107 | 	help | 
| Ben Dooks | a4f957f | 2005-06-20 12:48:25 +0100 | [diff] [blame] | 108 | 	  This enables the NAND flash controller on the S3C2410 and S3C2440 | 
 | 109 | 	  SoCs | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 110 |  | 
| Egry Gábor | 4992a9e | 2006-05-12 17:35:02 +0100 | [diff] [blame] | 111 | 	  No board specific support is done by this driver, each board | 
| Thomas Gleixner | 61b03bd | 2005-11-07 11:15:49 +0000 | [diff] [blame] | 112 | 	  must advertise a platform_device for the driver to attach. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 113 |  | 
 | 114 | config MTD_NAND_S3C2410_DEBUG | 
 | 115 | 	bool "S3C2410 NAND driver debug" | 
 | 116 | 	depends on MTD_NAND_S3C2410 | 
 | 117 | 	help | 
 | 118 | 	  Enable debugging of the S3C2410 NAND driver | 
 | 119 |  | 
 | 120 | config MTD_NAND_S3C2410_HWECC | 
 | 121 | 	bool "S3C2410 NAND Hardware ECC" | 
 | 122 | 	depends on MTD_NAND_S3C2410 | 
 | 123 | 	help | 
 | 124 | 	  Enable the use of the S3C2410's internal ECC generator when | 
 | 125 | 	  using NAND. Early versions of the chip have had problems with | 
 | 126 | 	  incorrect ECC generation, and if using these, the default of | 
 | 127 | 	  software ECC is preferable. | 
 | 128 |  | 
 | 129 | 	  If you lay down a device with the hardware ECC, then you will | 
 | 130 | 	  currently not be able to switch to software, as there is no | 
 | 131 | 	  implementation for ECC method used by the S3C2410 | 
 | 132 |  | 
| Thomas Gleixner | ce4c61f | 2006-05-23 11:43:28 +0200 | [diff] [blame] | 133 | config MTD_NAND_NDFC | 
 | 134 | 	tristate "NDFC NanD Flash Controller" | 
 | 135 | 	depends on MTD_NAND && 44x | 
| Timo Lindhorst | 418b2e5 | 2006-12-05 15:23:33 +0100 | [diff] [blame^] | 136 | 	select MTD_NAND_ECC_SMC | 
| Thomas Gleixner | ce4c61f | 2006-05-23 11:43:28 +0200 | [diff] [blame] | 137 | 	help | 
 | 138 | 	 NDFC Nand Flash Controllers are integrated in EP44x SoCs | 
 | 139 |  | 
| Ben Dooks | d1fef3c | 2006-06-19 09:29:38 +0100 | [diff] [blame] | 140 | config MTD_NAND_S3C2410_CLKSTOP | 
 | 141 | 	bool "S3C2410 NAND IDLE clock stop" | 
 | 142 | 	depends on MTD_NAND_S3C2410 | 
 | 143 | 	default n | 
 | 144 | 	help | 
 | 145 | 	  Stop the clock to the NAND controller when there is no chip | 
 | 146 | 	  selected to save power. This will mean there is a small delay | 
 | 147 | 	  when the is NAND chip selected or released, but will save | 
 | 148 | 	  approximately 5mA of power when there is nothing happening. | 
 | 149 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 150 | config MTD_NAND_DISKONCHIP | 
 | 151 | 	tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)" | 
 | 152 | 	depends on MTD_NAND && EXPERIMENTAL | 
 | 153 | 	select REED_SOLOMON | 
 | 154 | 	select REED_SOLOMON_DEC16 | 
 | 155 | 	help | 
 | 156 | 	  This is a reimplementation of M-Systems DiskOnChip 2000, | 
 | 157 | 	  Millennium and Millennium Plus as a standard NAND device driver, | 
 | 158 | 	  as opposed to the earlier self-contained MTD device drivers. | 
 | 159 | 	  This should enable, among other things, proper JFFS2 operation on | 
 | 160 | 	  these devices. | 
 | 161 |  | 
 | 162 | config MTD_NAND_DISKONCHIP_PROBE_ADVANCED | 
 | 163 |         bool "Advanced detection options for DiskOnChip" | 
 | 164 |         depends on MTD_NAND_DISKONCHIP | 
 | 165 |         help | 
 | 166 |           This option allows you to specify nonstandard address at which to | 
 | 167 |           probe for a DiskOnChip, or to change the detection options.  You | 
 | 168 |           are unlikely to need any of this unless you are using LinuxBIOS. | 
 | 169 |           Say 'N'. | 
 | 170 |  | 
 | 171 | config MTD_NAND_DISKONCHIP_PROBE_ADDRESS | 
 | 172 |         hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED | 
 | 173 |         depends on MTD_NAND_DISKONCHIP | 
 | 174 |         default "0" | 
 | 175 |         ---help--- | 
 | 176 |         By default, the probe for DiskOnChip devices will look for a | 
 | 177 |         DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. | 
 | 178 |         This option allows you to specify a single address at which to probe | 
 | 179 |         for the device, which is useful if you have other devices in that | 
 | 180 |         range which get upset when they are probed. | 
 | 181 |  | 
 | 182 |         (Note that on PowerPC, the normal probe will only check at | 
 | 183 |         0xE4000000.) | 
 | 184 |  | 
 | 185 |         Normally, you should leave this set to zero, to allow the probe at | 
 | 186 |         the normal addresses. | 
 | 187 |  | 
 | 188 | config MTD_NAND_DISKONCHIP_PROBE_HIGH | 
 | 189 |         bool "Probe high addresses" | 
 | 190 |         depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED | 
 | 191 |         help | 
 | 192 |           By default, the probe for DiskOnChip devices will look for a | 
 | 193 |           DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. | 
 | 194 |           This option changes to make it probe between 0xFFFC8000 and | 
 | 195 |           0xFFFEE000.  Unless you are using LinuxBIOS, this is unlikely to be | 
 | 196 |           useful to you.  Say 'N'. | 
 | 197 |  | 
 | 198 | config MTD_NAND_DISKONCHIP_BBTWRITE | 
 | 199 | 	bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP" | 
 | 200 | 	depends on MTD_NAND_DISKONCHIP | 
 | 201 | 	help | 
 | 202 | 	  On DiskOnChip devices shipped with the INFTL filesystem (Millennium | 
 | 203 | 	  and 2000 TSOP/Alon), Linux reserves some space at the end of the | 
 | 204 | 	  device for the Bad Block Table (BBT).  If you have existing INFTL | 
 | 205 | 	  data on your device (created by non-Linux tools such as M-Systems' | 
 | 206 | 	  DOS drivers), your data might overlap the area Linux wants to use for | 
 | 207 | 	  the BBT.  If this is a concern for you, leave this option disabled and | 
 | 208 | 	  Linux will not write BBT data into this area. | 
 | 209 | 	  The downside of leaving this option disabled is that if bad blocks | 
 | 210 | 	  are detected by Linux, they will not be recorded in the BBT, which | 
 | 211 | 	  could cause future problems. | 
 | 212 | 	  Once you enable this option, new filesystems (INFTL or others, created | 
 | 213 | 	  in Linux or other operating systems) will not use the reserved area. | 
 | 214 | 	  The only reason not to enable this option is to prevent damage to | 
 | 215 | 	  preexisting filesystems. | 
 | 216 | 	  Even if you leave this disabled, you can enable BBT writes at module | 
 | 217 | 	  load time (assuming you build diskonchip as a module) with the module | 
 | 218 | 	  parameter "inftl_bbt_write=1". | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 219 |  | 
| Adrian Bunk | 54af6b4 | 2006-03-31 02:29:43 -0800 | [diff] [blame] | 220 | config MTD_NAND_SHARPSL | 
 | 221 | 	tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)" | 
 | 222 | 	depends on MTD_NAND && ARCH_PXA | 
 | 223 |  | 
| David Woodhouse | c45aa05 | 2006-10-22 02:17:05 +0100 | [diff] [blame] | 224 | config MTD_NAND_CAFE | 
 | 225 |        tristate "NAND support for OLPC CAFÉ chip" | 
 | 226 |        depends on PCI | 
 | 227 |        help | 
 | 228 | 	 Use NAND flash attached to the CAFÉ chip designed for the $100 | 
 | 229 | 	 laptop. | 
 | 230 |  | 
| David Woodhouse | 179fdc3 | 2006-05-11 22:35:28 +0100 | [diff] [blame] | 231 | config MTD_NAND_CS553X | 
 | 232 | 	tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)" | 
| David Woodhouse | 33280ea | 2006-05-29 11:24:29 +0100 | [diff] [blame] | 233 | 	depends on MTD_NAND && X86_32 && (X86_PC || X86_GENERICARCH) | 
| David Woodhouse | f41a5f8 | 2006-05-16 13:11:47 +0100 | [diff] [blame] | 234 | 	help | 
 | 235 | 	  The CS553x companion chips for the AMD Geode processor | 
 | 236 | 	  include NAND flash controllers with built-in hardware ECC | 
 | 237 | 	  capabilities; enabling this option will allow you to use | 
 | 238 | 	  these. The driver will check the MSRs to verify that the | 
 | 239 | 	  controller is enabled for NAND, and currently requires that | 
 | 240 | 	  the controller be in MMIO mode. | 
 | 241 |  | 
 | 242 | 	  If you say "m", the module will be called "cs553x_nand.ko". | 
 | 243 |  | 
| Andrew Victor | 42cb140 | 2006-10-19 18:24:35 +0200 | [diff] [blame] | 244 | config MTD_NAND_AT91 | 
 | 245 | 	bool "Support for NAND Flash / SmartMedia on AT91" | 
 | 246 | 	depends on MTD_NAND && ARCH_AT91 | 
 | 247 | 	help | 
 | 248 | 	  Enables support for NAND Flash / Smart Media Card interface | 
 | 249 | 	  on Atmel AT91 processors. | 
 | 250 |  | 
| Adrian Bunk | 54af6b4 | 2006-03-31 02:29:43 -0800 | [diff] [blame] | 251 | config MTD_NAND_NANDSIM | 
 | 252 | 	tristate "Support for NAND Flash Simulator" | 
 | 253 | 	depends on MTD_NAND && MTD_PARTITIONS | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 254 | 	help | 
| David Woodhouse | f41a5f8 | 2006-05-16 13:11:47 +0100 | [diff] [blame] | 255 | 	  The simulator may simulate various NAND flash chips for the | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 256 | 	  MTD nand layer. | 
| Adrian Bunk | 54af6b4 | 2006-03-31 02:29:43 -0800 | [diff] [blame] | 257 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 258 | endmenu |