blob: 511448ff0ce2508a3575992397c9b767f839375e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001# drivers/mtd/nand/Kconfig
Thomas Gleixner61b03bd2005-11-07 11:15:49 +00002# $Id: Kconfig,v 1.35 2005/11/07 11:14:30 gleixner Exp $
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Jan Engelhardtec98c682007-04-19 16:21:41 -05004menuconfig MTD_NAND
Linus Torvalds1da177e2005-04-16 15:20:36 -07005 tristate "NAND Device Support"
6 depends on MTD
7 select MTD_NAND_IDS
8 help
9 This enables support for accessing all type of NAND flash
10 devices. For further information see
Artem B. Bityutskiy220b0f52006-07-05 11:04:02 +040011 <http://www.linux-mtd.infradead.org/doc/nand.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
Jan Engelhardtec98c682007-04-19 16:21:41 -050013if MTD_NAND
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015config MTD_NAND_VERIFY_WRITE
16 bool "Verify NAND page writes"
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 help
18 This adds an extra check when data is written to the flash. The
19 NAND flash device internally checks only bits transitioning
20 from 1 to 0. There is a rare possibility that even though the
21 device thinks the write was successful, a bit could have been
Matt LaPlante09509602006-10-03 22:31:37 +020022 flipped accidentally due to device wear or something else.
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
Thomas Gleixner819d6a32006-05-23 11:32:45 +020024config MTD_NAND_ECC_SMC
25 bool "NAND ECC Smart Media byte order"
Thomas Gleixner819d6a32006-05-23 11:32:45 +020026 default n
27 help
28 Software ECC according to the Smart Media Specification.
29 The original Linux implementation had byte 0 and 1 swapped.
30
Thomas Gleixner1cf98272007-04-17 18:30:57 +010031config MTD_NAND_MUSEUM_IDS
32 bool "Enable chip ids for obsolete ancient NAND devices"
33 depends on MTD_NAND
34 default n
35 help
36 Enable this option only when your board has first generation
37 NAND chips (page size 256 byte, erase size 4-8KiB). The IDs
38 of these chips were reused by later, larger chips.
39
Linus Torvalds1da177e2005-04-16 15:20:36 -070040config MTD_NAND_AUTCPU12
41 tristate "SmartMediaCard on autronix autcpu12 board"
Jan Engelhardtec98c682007-04-19 16:21:41 -050042 depends on ARCH_AUTCPU12
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 help
Thomas Gleixner61b03bd2005-11-07 11:15:49 +000044 This enables the driver for the autronix autcpu12 board to
Linus Torvalds1da177e2005-04-16 15:20:36 -070045 access the SmartMediaCard.
46
47config MTD_NAND_EDB7312
48 tristate "Support for Cirrus Logic EBD7312 evaluation board"
Jan Engelhardtec98c682007-04-19 16:21:41 -050049 depends on ARCH_EDB7312
Linus Torvalds1da177e2005-04-16 15:20:36 -070050 help
Thomas Gleixner61b03bd2005-11-07 11:15:49 +000051 This enables the driver for the Cirrus Logic EBD7312 evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -070052 board to access the onboard NAND Flash.
53
54config MTD_NAND_H1900
55 tristate "iPAQ H1900 flash"
Jan Engelhardtec98c682007-04-19 16:21:41 -050056 depends on ARCH_PXA && MTD_PARTITIONS
Linus Torvalds1da177e2005-04-16 15:20:36 -070057 help
58 This enables the driver for the iPAQ h1900 flash.
59
60config MTD_NAND_SPIA
61 tristate "NAND Flash device on SPIA board"
Jan Engelhardtec98c682007-04-19 16:21:41 -050062 depends on ARCH_P720T
Linus Torvalds1da177e2005-04-16 15:20:36 -070063 help
64 If you had to ask, you don't have one. Say 'N'.
65
Jonathan McDowell3d12c0c2006-05-21 18:11:55 +010066config MTD_NAND_AMS_DELTA
67 tristate "NAND Flash device on Amstrad E3"
Jan Engelhardtec98c682007-04-19 16:21:41 -050068 depends on MACH_AMS_DELTA
Jonathan McDowell3d12c0c2006-05-21 18:11:55 +010069 help
70 Support for NAND flash on Amstrad E3 (Delta).
71
Linus Torvalds1da177e2005-04-16 15:20:36 -070072config MTD_NAND_TOTO
73 tristate "NAND Flash device on TOTO board"
Jan Engelhardtec98c682007-04-19 16:21:41 -050074 depends on ARCH_OMAP && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 help
76 Support for NAND flash on Texas Instruments Toto platform.
77
Lennert Buytenhek7d532dd2006-04-30 10:36:38 +020078config MTD_NAND_TS7250
79 tristate "NAND Flash device on TS-7250 board"
Jan Engelhardtec98c682007-04-19 16:21:41 -050080 depends on MACH_TS72XX
Lennert Buytenhek7d532dd2006-04-30 10:36:38 +020081 help
82 Support for NAND flash on Technologic Systems TS-7250 platform.
83
Linus Torvalds1da177e2005-04-16 15:20:36 -070084config MTD_NAND_IDS
85 tristate
86
Linus Torvalds1da177e2005-04-16 15:20:36 -070087config MTD_NAND_AU1550
Pete Popovef6f0d12005-09-23 02:44:58 +010088 tristate "Au1550/1200 NAND support"
Jan Engelhardtec98c682007-04-19 16:21:41 -050089 depends on SOC_AU1200 || SOC_AU1550
Linus Torvalds1da177e2005-04-16 15:20:36 -070090 help
91 This enables the driver for the NAND flash controller on the
92 AMD/Alchemy 1550 SOC.
93
94config MTD_NAND_RTC_FROM4
95 tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)"
Jan Engelhardtec98c682007-04-19 16:21:41 -050096 depends on SH_SOLUTION_ENGINE
Linus Torvalds1da177e2005-04-16 15:20:36 -070097 select REED_SOLOMON
98 select REED_SOLOMON_DEC8
Adrian Bunk1605cd32006-11-22 05:38:11 +010099 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100 help
Thomas Gleixner61b03bd2005-11-07 11:15:49 +0000101 This enables the driver for the Renesas Technology AG-AND
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102 flash interface board (FROM_BOARD4)
103
104config MTD_NAND_PPCHAMELEONEVB
105 tristate "NAND Flash device on PPChameleonEVB board"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500106 depends on PPCHAMELEONEVB && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 help
108 This enables the NAND flash driver on the PPChameleon EVB Board.
109
110config MTD_NAND_S3C2410
Ben Dooksa4f957f2005-06-20 12:48:25 +0100111 tristate "NAND Flash support for S3C2410/S3C2440 SoC"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500112 depends on ARCH_S3C2410
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 help
Ben Dooksa4f957f2005-06-20 12:48:25 +0100114 This enables the NAND flash controller on the S3C2410 and S3C2440
115 SoCs
Linus Torvalds1da177e2005-04-16 15:20:36 -0700116
Egry Gábor4992a9e2006-05-12 17:35:02 +0100117 No board specific support is done by this driver, each board
Thomas Gleixner61b03bd2005-11-07 11:15:49 +0000118 must advertise a platform_device for the driver to attach.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119
120config MTD_NAND_S3C2410_DEBUG
121 bool "S3C2410 NAND driver debug"
122 depends on MTD_NAND_S3C2410
123 help
124 Enable debugging of the S3C2410 NAND driver
125
126config MTD_NAND_S3C2410_HWECC
127 bool "S3C2410 NAND Hardware ECC"
128 depends on MTD_NAND_S3C2410
129 help
130 Enable the use of the S3C2410's internal ECC generator when
131 using NAND. Early versions of the chip have had problems with
132 incorrect ECC generation, and if using these, the default of
133 software ECC is preferable.
134
Thomas Gleixnerce4c61f2006-05-23 11:43:28 +0200135config MTD_NAND_NDFC
136 tristate "NDFC NanD Flash Controller"
David Woodhouse62d24d92007-08-23 10:44:17 +0100137 depends on 4xx && !PPC_MERGE
Timo Lindhorst418b2e52006-12-05 15:23:33 +0100138 select MTD_NAND_ECC_SMC
Thomas Gleixnerce4c61f2006-05-23 11:43:28 +0200139 help
Stefan Roese02d92912007-05-22 11:23:45 +0200140 NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
Thomas Gleixnerce4c61f2006-05-23 11:43:28 +0200141
Ben Dooksd1fef3c2006-06-19 09:29:38 +0100142config MTD_NAND_S3C2410_CLKSTOP
143 bool "S3C2410 NAND IDLE clock stop"
144 depends on MTD_NAND_S3C2410
145 default n
146 help
147 Stop the clock to the NAND controller when there is no chip
148 selected to save power. This will mean there is a small delay
149 when the is NAND chip selected or released, but will save
150 approximately 5mA of power when there is nothing happening.
151
Linus Torvalds1da177e2005-04-16 15:20:36 -0700152config MTD_NAND_DISKONCHIP
153 tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500154 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 select REED_SOLOMON
156 select REED_SOLOMON_DEC16
157 help
158 This is a reimplementation of M-Systems DiskOnChip 2000,
159 Millennium and Millennium Plus as a standard NAND device driver,
160 as opposed to the earlier self-contained MTD device drivers.
161 This should enable, among other things, proper JFFS2 operation on
162 these devices.
163
164config MTD_NAND_DISKONCHIP_PROBE_ADVANCED
165 bool "Advanced detection options for DiskOnChip"
166 depends on MTD_NAND_DISKONCHIP
167 help
168 This option allows you to specify nonstandard address at which to
169 probe for a DiskOnChip, or to change the detection options. You
170 are unlikely to need any of this unless you are using LinuxBIOS.
171 Say 'N'.
172
173config MTD_NAND_DISKONCHIP_PROBE_ADDRESS
174 hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED
175 depends on MTD_NAND_DISKONCHIP
176 default "0"
177 ---help---
178 By default, the probe for DiskOnChip devices will look for a
179 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
180 This option allows you to specify a single address at which to probe
181 for the device, which is useful if you have other devices in that
182 range which get upset when they are probed.
183
184 (Note that on PowerPC, the normal probe will only check at
185 0xE4000000.)
186
187 Normally, you should leave this set to zero, to allow the probe at
188 the normal addresses.
189
190config MTD_NAND_DISKONCHIP_PROBE_HIGH
191 bool "Probe high addresses"
192 depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED
193 help
194 By default, the probe for DiskOnChip devices will look for a
195 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
196 This option changes to make it probe between 0xFFFC8000 and
197 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be
198 useful to you. Say 'N'.
199
200config MTD_NAND_DISKONCHIP_BBTWRITE
201 bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
202 depends on MTD_NAND_DISKONCHIP
203 help
204 On DiskOnChip devices shipped with the INFTL filesystem (Millennium
205 and 2000 TSOP/Alon), Linux reserves some space at the end of the
206 device for the Bad Block Table (BBT). If you have existing INFTL
207 data on your device (created by non-Linux tools such as M-Systems'
208 DOS drivers), your data might overlap the area Linux wants to use for
209 the BBT. If this is a concern for you, leave this option disabled and
210 Linux will not write BBT data into this area.
211 The downside of leaving this option disabled is that if bad blocks
212 are detected by Linux, they will not be recorded in the BBT, which
213 could cause future problems.
214 Once you enable this option, new filesystems (INFTL or others, created
215 in Linux or other operating systems) will not use the reserved area.
216 The only reason not to enable this option is to prevent damage to
217 preexisting filesystems.
218 Even if you leave this disabled, you can enable BBT writes at module
219 load time (assuming you build diskonchip as a module) with the module
220 parameter "inftl_bbt_write=1".
Linus Torvalds1da177e2005-04-16 15:20:36 -0700221
Adrian Bunk54af6b42006-03-31 02:29:43 -0800222config MTD_NAND_SHARPSL
223 tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500224 depends on ARCH_PXA
Adrian Bunk54af6b42006-03-31 02:29:43 -0800225
Thomas Koeller67a9c7a2007-02-10 11:21:27 +0100226config MTD_NAND_BASLER_EXCITE
227 tristate "Support for NAND Flash on Basler eXcite"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500228 depends on BASLER_EXCITE
Thomas Koeller67a9c7a2007-02-10 11:21:27 +0100229 help
230 This enables the driver for the NAND flash device found on the
231 Basler eXcite Smart Camera. If built as a module, the driver
232 will be named "excite_nandflash.ko".
233
David Woodhousec45aa052006-10-22 02:17:05 +0100234config MTD_NAND_CAFE
Segher Boessenkool8c61b7a2007-05-02 12:18:49 +0200235 tristate "NAND support for OLPC CAFÉ chip"
236 depends on PCI
237 select REED_SOLOMON
238 select REED_SOLOMON_DEC16
239 help
Adrian Bunk8f46c522007-06-22 01:52:08 +0200240 Use NAND flash attached to the CAFÉ chip designed for the OLPC
Segher Boessenkool8c61b7a2007-05-02 12:18:49 +0200241 laptop.
David Woodhousec45aa052006-10-22 02:17:05 +0100242
David Woodhouse179fdc32006-05-11 22:35:28 +0100243config MTD_NAND_CS553X
244 tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500245 depends on X86_32 && (X86_PC || X86_GENERICARCH)
David Woodhousef41a5f82006-05-16 13:11:47 +0100246 help
247 The CS553x companion chips for the AMD Geode processor
248 include NAND flash controllers with built-in hardware ECC
249 capabilities; enabling this option will allow you to use
250 these. The driver will check the MSRs to verify that the
251 controller is enabled for NAND, and currently requires that
252 the controller be in MMIO mode.
253
254 If you say "m", the module will be called "cs553x_nand.ko".
255
Andrew Victor42cb1402006-10-19 18:24:35 +0200256config MTD_NAND_AT91
257 bool "Support for NAND Flash / SmartMedia on AT91"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500258 depends on ARCH_AT91
Andrew Victor42cb1402006-10-19 18:24:35 +0200259 help
260 Enables support for NAND Flash / Smart Media Card interface
261 on Atmel AT91 processors.
262
Mike Rapoport54d33c42007-04-22 08:53:21 +0300263config MTD_NAND_CM_X270
264 tristate "Support for NAND Flash on CM-X270 modules"
265 depends on MTD_NAND && MACH_ARMCORE
266
267
Adrian Bunk54af6b42006-03-31 02:29:43 -0800268config MTD_NAND_NANDSIM
269 tristate "Support for NAND Flash Simulator"
Jan Engelhardtec98c682007-04-19 16:21:41 -0500270 depends on MTD_PARTITIONS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271 help
David Woodhousef41a5f82006-05-16 13:11:47 +0100272 The simulator may simulate various NAND flash chips for the
Linus Torvalds1da177e2005-04-16 15:20:36 -0700273 MTD nand layer.
Adrian Bunk54af6b42006-03-31 02:29:43 -0800274
Vitaly Wool711fdf62007-05-06 19:31:18 +0400275config MTD_NAND_PLATFORM
276 tristate "Support for generic platform NAND driver"
277 depends on MTD_NAND
278 help
279 This implements a generic NAND driver for on-SOC platform
280 devices. You will need to provide platform-specific functions
281 via platform_data.
282
283
Jan Engelhardtec98c682007-04-19 16:21:41 -0500284endif # MTD_NAND