1menuconfig MTD_NAND 2 tristate "NAND Device Support" 3 depends on MTD 4 select MTD_NAND_IDS 5 help 6 This enables support for accessing all type of NAND flash 7 devices. For further information see 8 <http://www.linux-mtd.infradead.org/doc/nand.html>. 9 10if MTD_NAND 11 12config MTD_NAND_VERIFY_WRITE 13 bool "Verify NAND page writes" 14 help 15 This adds an extra check when data is written to the flash. The 16 NAND flash device internally checks only bits transitioning 17 from 1 to 0. There is a rare possibility that even though the 18 device thinks the write was successful, a bit could have been 19 flipped accidentally due to device wear or something else. 20 21config MTD_NAND_ECC_SMC 22 bool "NAND ECC Smart Media byte order" 23 default n 24 help 25 Software ECC according to the Smart Media Specification. 26 The original Linux implementation had byte 0 and 1 swapped. 27 28config MTD_NAND_MUSEUM_IDS 29 bool "Enable chip ids for obsolete ancient NAND devices" 30 depends on MTD_NAND 31 default n 32 help 33 Enable this option only when your board has first generation 34 NAND chips (page size 256 byte, erase size 4-8KiB). The IDs 35 of these chips were reused by later, larger chips. 36 37config MTD_NAND_AUTCPU12 38 tristate "SmartMediaCard on autronix autcpu12 board" 39 depends on ARCH_AUTCPU12 40 help 41 This enables the driver for the autronix autcpu12 board to 42 access the SmartMediaCard. 43 44config MTD_NAND_EDB7312 45 tristate "Support for Cirrus Logic EBD7312 evaluation board" 46 depends on ARCH_EDB7312 47 help 48 This enables the driver for the Cirrus Logic EBD7312 evaluation 49 board to access the onboard NAND Flash. 50 51config MTD_NAND_H1900 52 tristate "iPAQ H1900 flash" 53 depends on ARCH_PXA && MTD_PARTITIONS 54 help 55 This enables the driver for the iPAQ h1900 flash. 56 57config MTD_NAND_GPIO 58 tristate "GPIO NAND Flash driver" 59 depends on GENERIC_GPIO && ARM 60 help 61 This enables a GPIO based NAND flash driver. 62 63config MTD_NAND_SPIA 64 tristate "NAND Flash device on SPIA board" 65 depends on ARCH_P720T 66 help 67 If you had to ask, you don't have one. Say 'N'. 68 69config MTD_NAND_AMS_DELTA 70 tristate "NAND Flash device on Amstrad E3" 71 depends on MACH_AMS_DELTA 72 help 73 Support for NAND flash on Amstrad E3 (Delta). 74 75config MTD_NAND_OMAP2 76 tristate "NAND Flash device on OMAP2 and OMAP3" 77 depends on ARM && MTD_NAND && (ARCH_OMAP2 || ARCH_OMAP3) 78 help 79 Support for NAND flash on Texas Instruments OMAP2 and OMAP3 platforms. 80 81config MTD_NAND_OMAP_PREFETCH 82 bool "GPMC prefetch support for NAND Flash device" 83 depends on MTD_NAND && MTD_NAND_OMAP2 84 default y 85 help 86 The NAND device can be accessed for Read/Write using GPMC PREFETCH engine 87 to improve the performance. 88 89config MTD_NAND_OMAP_PREFETCH_DMA 90 depends on MTD_NAND_OMAP_PREFETCH 91 bool "DMA mode" 92 default n 93 help 94 The GPMC PREFETCH engine can be configured eigther in MPU interrupt mode 95 or in DMA interrupt mode. 96 Say y for DMA mode or MPU mode will be used 97 98config MTD_NAND_TS7250 99 tristate "NAND Flash device on TS-7250 board" 100 depends on MACH_TS72XX 101 help 102 Support for NAND flash on Technologic Systems TS-7250 platform. 103 104config MTD_NAND_IDS 105 tristate 106 107config MTD_NAND_AU1550 108 tristate "Au1550/1200 NAND support" 109 depends on SOC_AU1200 || SOC_AU1550 110 help 111 This enables the driver for the NAND flash controller on the 112 AMD/Alchemy 1550 SOC. 113 114config MTD_NAND_BF5XX 115 tristate "Blackfin on-chip NAND Flash Controller driver" 116 depends on (BF54x || BF52x) && MTD_NAND 117 help 118 This enables the Blackfin on-chip NAND flash controller 119 120 No board specific support is done by this driver, each board 121 must advertise a platform_device for the driver to attach. 122 123 This driver can also be built as a module. If so, the module 124 will be called bf5xx-nand. 125 126config MTD_NAND_BF5XX_HWECC 127 bool "BF5XX NAND Hardware ECC" 128 default y 129 depends on MTD_NAND_BF5XX 130 help 131 Enable the use of the BF5XX's internal ECC generator when 132 using NAND. 133 134config MTD_NAND_BF5XX_BOOTROM_ECC 135 bool "Use Blackfin BootROM ECC Layout" 136 default n 137 depends on MTD_NAND_BF5XX_HWECC 138 help 139 If you wish to modify NAND pages and allow the Blackfin on-chip 140 BootROM to boot from them, say Y here. This is only necessary 141 if you are booting U-Boot out of NAND and you wish to update 142 U-Boot from Linux' userspace. Otherwise, you should say N here. 143 144 If unsure, say N. 145 146config MTD_NAND_RTC_FROM4 147 tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)" 148 depends on SH_SOLUTION_ENGINE 149 select REED_SOLOMON 150 select REED_SOLOMON_DEC8 151 select BITREVERSE 152 help 153 This enables the driver for the Renesas Technology AG-AND 154 flash interface board (FROM_BOARD4) 155 156config MTD_NAND_PPCHAMELEONEVB 157 tristate "NAND Flash device on PPChameleonEVB board" 158 depends on PPCHAMELEONEVB && BROKEN 159 help 160 This enables the NAND flash driver on the PPChameleon EVB Board. 161 162config MTD_NAND_S3C2410 163 tristate "NAND Flash support for Samsung S3C SoCs" 164 depends on ARCH_S3C2410 || ARCH_S3C64XX 165 help 166 This enables the NAND flash controller on the S3C24xx and S3C64xx 167 SoCs 168 169 No board specific support is done by this driver, each board 170 must advertise a platform_device for the driver to attach. 171 172config MTD_NAND_S3C2410_DEBUG 173 bool "Samsung S3C NAND driver debug" 174 depends on MTD_NAND_S3C2410 175 help 176 Enable debugging of the S3C NAND driver 177 178config MTD_NAND_S3C2410_HWECC 179 bool "Samsung S3C NAND Hardware ECC" 180 depends on MTD_NAND_S3C2410 181 help 182 Enable the use of the controller's internal ECC generator when 183 using NAND. Early versions of the chips have had problems with 184 incorrect ECC generation, and if using these, the default of 185 software ECC is preferable. 186 187config MTD_NAND_NDFC 188 tristate "NDFC NanD Flash Controller" 189 depends on 4xx 190 select MTD_NAND_ECC_SMC 191 help 192 NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs 193 194config MTD_NAND_S3C2410_CLKSTOP 195 bool "Samsung S3C NAND IDLE clock stop" 196 depends on MTD_NAND_S3C2410 197 default n 198 help 199 Stop the clock to the NAND controller when there is no chip 200 selected to save power. This will mean there is a small delay 201 when the is NAND chip selected or released, but will save 202 approximately 5mA of power when there is nothing happening. 203 204config MTD_NAND_DISKONCHIP 205 tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)" 206 depends on EXPERIMENTAL 207 select REED_SOLOMON 208 select REED_SOLOMON_DEC16 209 help 210 This is a reimplementation of M-Systems DiskOnChip 2000, 211 Millennium and Millennium Plus as a standard NAND device driver, 212 as opposed to the earlier self-contained MTD device drivers. 213 This should enable, among other things, proper JFFS2 operation on 214 these devices. 215 216config MTD_NAND_DISKONCHIP_PROBE_ADVANCED 217 bool "Advanced detection options for DiskOnChip" 218 depends on MTD_NAND_DISKONCHIP 219 help 220 This option allows you to specify nonstandard address at which to 221 probe for a DiskOnChip, or to change the detection options. You 222 are unlikely to need any of this unless you are using LinuxBIOS. 223 Say 'N'. 224 225config MTD_NAND_DISKONCHIP_PROBE_ADDRESS 226 hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED 227 depends on MTD_NAND_DISKONCHIP 228 default "0" 229 ---help--- 230 By default, the probe for DiskOnChip devices will look for a 231 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. 232 This option allows you to specify a single address at which to probe 233 for the device, which is useful if you have other devices in that 234 range which get upset when they are probed. 235 236 (Note that on PowerPC, the normal probe will only check at 237 0xE4000000.) 238 239 Normally, you should leave this set to zero, to allow the probe at 240 the normal addresses. 241 242config MTD_NAND_DISKONCHIP_PROBE_HIGH 243 bool "Probe high addresses" 244 depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED 245 help 246 By default, the probe for DiskOnChip devices will look for a 247 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. 248 This option changes to make it probe between 0xFFFC8000 and 249 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be 250 useful to you. Say 'N'. 251 252config MTD_NAND_DISKONCHIP_BBTWRITE 253 bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP" 254 depends on MTD_NAND_DISKONCHIP 255 help 256 On DiskOnChip devices shipped with the INFTL filesystem (Millennium 257 and 2000 TSOP/Alon), Linux reserves some space at the end of the 258 device for the Bad Block Table (BBT). If you have existing INFTL 259 data on your device (created by non-Linux tools such as M-Systems' 260 DOS drivers), your data might overlap the area Linux wants to use for 261 the BBT. If this is a concern for you, leave this option disabled and 262 Linux will not write BBT data into this area. 263 The downside of leaving this option disabled is that if bad blocks 264 are detected by Linux, they will not be recorded in the BBT, which 265 could cause future problems. 266 Once you enable this option, new filesystems (INFTL or others, created 267 in Linux or other operating systems) will not use the reserved area. 268 The only reason not to enable this option is to prevent damage to 269 preexisting filesystems. 270 Even if you leave this disabled, you can enable BBT writes at module 271 load time (assuming you build diskonchip as a module) with the module 272 parameter "inftl_bbt_write=1". 273 274config MTD_NAND_SHARPSL 275 tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)" 276 depends on ARCH_PXA 277 278config MTD_NAND_BASLER_EXCITE 279 tristate "Support for NAND Flash on Basler eXcite" 280 depends on BASLER_EXCITE 281 help 282 This enables the driver for the NAND flash device found on the 283 Basler eXcite Smart Camera. If built as a module, the driver 284 will be named excite_nandflash. 285 286config MTD_NAND_CAFE 287 tristate "NAND support for OLPC CAFÉ chip" 288 depends on PCI 289 select REED_SOLOMON 290 select REED_SOLOMON_DEC16 291 help 292 Use NAND flash attached to the CAFÉ chip designed for the OLPC 293 laptop. 294 295config MTD_NAND_CS553X 296 tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)" 297 depends on X86_32 298 help 299 The CS553x companion chips for the AMD Geode processor 300 include NAND flash controllers with built-in hardware ECC 301 capabilities; enabling this option will allow you to use 302 these. The driver will check the MSRs to verify that the 303 controller is enabled for NAND, and currently requires that 304 the controller be in MMIO mode. 305 306 If you say "m", the module will be called cs553x_nand. 307 308config MTD_NAND_ATMEL 309 tristate "Support for NAND Flash / SmartMedia on AT91 and AVR32" 310 depends on ARCH_AT91 || AVR32 311 help 312 Enables support for NAND Flash / Smart Media Card interface 313 on Atmel AT91 and AVR32 processors. 314choice 315 prompt "ECC management for NAND Flash / SmartMedia on AT91 / AVR32" 316 depends on MTD_NAND_ATMEL 317 318config MTD_NAND_ATMEL_ECC_HW 319 bool "Hardware ECC" 320 depends on ARCH_AT91SAM9263 || ARCH_AT91SAM9260 || AVR32 321 help 322 Use hardware ECC instead of software ECC when the chip 323 supports it. 324 325 The hardware ECC controller is capable of single bit error 326 correction and 2-bit random detection per page. 327 328 NB : hardware and software ECC schemes are incompatible. 329 If you switch from one to another, you'll have to erase your 330 mtd partition. 331 332 If unsure, say Y 333 334config MTD_NAND_ATMEL_ECC_SOFT 335 bool "Software ECC" 336 help 337 Use software ECC. 338 339 NB : hardware and software ECC schemes are incompatible. 340 If you switch from one to another, you'll have to erase your 341 mtd partition. 342 343config MTD_NAND_ATMEL_ECC_NONE 344 bool "No ECC (testing only, DANGEROUS)" 345 depends on DEBUG_KERNEL 346 help 347 No ECC will be used. 348 It's not a good idea and it should be reserved for testing 349 purpose only. 350 351 If unsure, say N 352 353 endchoice 354 355endchoice 356 357config MTD_NAND_PXA3xx 358 tristate "Support for NAND flash devices on PXA3xx" 359 depends on MTD_NAND && (PXA3xx || ARCH_MMP) 360 help 361 This enables the driver for the NAND flash device found on 362 PXA3xx processors 363 364config MTD_NAND_PXA3xx_BUILTIN 365 bool "Use builtin definitions for some NAND chips (deprecated)" 366 depends on MTD_NAND_PXA3xx 367 help 368 This enables builtin definitions for some NAND chips. This 369 is deprecated in favor of platform specific data. 370 371config MTD_NAND_CM_X270 372 tristate "Support for NAND Flash on CM-X270 modules" 373 depends on MTD_NAND && MACH_ARMCORE 374 375config MTD_NAND_PASEMI 376 tristate "NAND support for PA Semi PWRficient" 377 depends on MTD_NAND && PPC_PASEMI 378 help 379 Enables support for NAND Flash interface on PA Semi PWRficient 380 based boards 381 382config MTD_NAND_TMIO 383 tristate "NAND Flash device on Toshiba Mobile IO Controller" 384 depends on MTD_NAND && MFD_TMIO 385 help 386 Support for NAND flash connected to a Toshiba Mobile IO 387 Controller in some PDAs, including the Sharp SL6000x. 388 389config MTD_NAND_NANDSIM 390 tristate "Support for NAND Flash Simulator" 391 depends on MTD_PARTITIONS 392 help 393 The simulator may simulate various NAND flash chips for the 394 MTD nand layer. 395 396config MTD_NAND_PLATFORM 397 tristate "Support for generic platform NAND driver" 398 depends on MTD_NAND 399 help 400 This implements a generic NAND driver for on-SOC platform 401 devices. You will need to provide platform-specific functions 402 via platform_data. 403 404config MTD_ALAUDA 405 tristate "MTD driver for Olympus MAUSB-10 and Fujifilm DPC-R1" 406 depends on MTD_NAND && USB 407 help 408 These two (and possibly other) Alauda-based cardreaders for 409 SmartMedia and xD allow raw flash access. 410 411config MTD_NAND_ORION 412 tristate "NAND Flash support for Marvell Orion SoC" 413 depends on PLAT_ORION && MTD_NAND 414 help 415 This enables the NAND flash controller on Orion machines. 416 417 No board specific support is done by this driver, each board 418 must advertise a platform_device for the driver to attach. 419 420config MTD_NAND_FSL_ELBC 421 tristate "NAND support for Freescale eLBC controllers" 422 depends on MTD_NAND && PPC_OF 423 help 424 Various Freescale chips, including the 8313, include a NAND Flash 425 Controller Module with built-in hardware ECC capabilities. 426 Enabling this option will enable you to use this to control 427 external NAND devices. 428 429config MTD_NAND_FSL_UPM 430 tristate "Support for NAND on Freescale UPM" 431 depends on MTD_NAND && (PPC_83xx || PPC_85xx) 432 select FSL_LBC 433 help 434 Enables support for NAND Flash chips wired onto Freescale PowerPC 435 processor localbus with User-Programmable Machine support. 436 437config MTD_NAND_MXC 438 tristate "MXC NAND support" 439 depends on ARCH_MX2 || ARCH_MX3 440 help 441 This enables the driver for the NAND flash controller on the 442 MXC processors. 443 444config MTD_NAND_NOMADIK 445 tristate "ST Nomadik 8815 NAND support" 446 depends on ARCH_NOMADIK 447 help 448 Driver for the NAND flash controller on the Nomadik, with ECC. 449 450config MTD_NAND_SH_FLCTL 451 tristate "Support for NAND on Renesas SuperH FLCTL" 452 depends on MTD_NAND && SUPERH && CPU_SUBTYPE_SH7723 453 help 454 Several Renesas SuperH CPU has FLCTL. This option enables support 455 for NAND Flash using FLCTL. This driver support SH7723. 456 457config MTD_NAND_DAVINCI 458 tristate "Support NAND on DaVinci SoC" 459 depends on ARCH_DAVINCI 460 help 461 Enable the driver for NAND flash chips on Texas Instruments 462 DaVinci processors. 463 464config MTD_NAND_TXX9NDFMC 465 tristate "NAND Flash support for TXx9 SoC" 466 depends on SOC_TX4938 || SOC_TX4939 467 help 468 This enables the NAND flash controller on the TXx9 SoCs. 469 470config MTD_NAND_SOCRATES 471 tristate "Support for NAND on Socrates board" 472 depends on MTD_NAND && SOCRATES 473 help 474 Enables support for NAND Flash chips wired onto Socrates board. 475 476config MTD_NAND_W90P910 477 tristate "Support for NAND on w90p910 evaluation board." 478 depends on ARCH_W90X900 && MTD_PARTITIONS 479 help 480 This enables the driver for the NAND Flash on evaluation board based 481 on w90p910. 482 483endif # MTD_NAND 484