blob: 49cbf510cce142525c4e18da785f08006f9f172f [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
4menu "NAND Flash Device Drivers"
5 depends on MTD!=n
6
7config 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. Bityutskiy220b0f52006-07-05 11:04:02 +040014 <http://www.linux-mtd.infradead.org/doc/nand.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16config 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 LaPlante09509602006-10-03 22:31:37 +020024 flipped accidentally due to device wear or something else.
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
Thomas Gleixner819d6a32006-05-23 11:32:45 +020026config 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
Thomas Gleixner1cf98272007-04-17 18:30:57 +010034config MTD_NAND_MUSEUM_IDS
35 bool "Enable chip ids for obsolete ancient NAND devices"
36 depends on MTD_NAND
37 default n
38 help
39 Enable this option only when your board has first generation
40 NAND chips (page size 256 byte, erase size 4-8KiB). The IDs
41 of these chips were reused by later, larger chips.
42
Linus Torvalds1da177e2005-04-16 15:20:36 -070043config MTD_NAND_AUTCPU12
44 tristate "SmartMediaCard on autronix autcpu12 board"
Thomas Gleixner30966172005-11-07 02:49:43 +010045 depends on MTD_NAND && ARCH_AUTCPU12
Linus Torvalds1da177e2005-04-16 15:20:36 -070046 help
Thomas Gleixner61b03bd2005-11-07 11:15:49 +000047 This enables the driver for the autronix autcpu12 board to
Linus Torvalds1da177e2005-04-16 15:20:36 -070048 access the SmartMediaCard.
49
50config MTD_NAND_EDB7312
51 tristate "Support for Cirrus Logic EBD7312 evaluation board"
Thomas Gleixner30966172005-11-07 02:49:43 +010052 depends on MTD_NAND && ARCH_EDB7312
Linus Torvalds1da177e2005-04-16 15:20:36 -070053 help
Thomas Gleixner61b03bd2005-11-07 11:15:49 +000054 This enables the driver for the Cirrus Logic EBD7312 evaluation
Linus Torvalds1da177e2005-04-16 15:20:36 -070055 board to access the onboard NAND Flash.
56
57config MTD_NAND_H1900
58 tristate "iPAQ H1900 flash"
Thomas Gleixner30966172005-11-07 02:49:43 +010059 depends on MTD_NAND && ARCH_PXA && MTD_PARTITIONS
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 help
61 This enables the driver for the iPAQ h1900 flash.
62
63config MTD_NAND_SPIA
64 tristate "NAND Flash device on SPIA board"
Thomas Gleixner30966172005-11-07 02:49:43 +010065 depends on ARCH_P720T && MTD_NAND
Linus Torvalds1da177e2005-04-16 15:20:36 -070066 help
67 If you had to ask, you don't have one. Say 'N'.
68
Jonathan McDowell3d12c0c2006-05-21 18:11:55 +010069config MTD_NAND_AMS_DELTA
70 tristate "NAND Flash device on Amstrad E3"
71 depends on MACH_AMS_DELTA && MTD_NAND
72 help
73 Support for NAND flash on Amstrad E3 (Delta).
74
Linus Torvalds1da177e2005-04-16 15:20:36 -070075config MTD_NAND_TOTO
76 tristate "NAND Flash device on TOTO board"
Thomas Gleixner85b85fe2006-05-23 22:03:39 +020077 depends on ARCH_OMAP && MTD_NAND && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -070078 help
79 Support for NAND flash on Texas Instruments Toto platform.
80
Lennert Buytenhek7d532dd2006-04-30 10:36:38 +020081config MTD_NAND_TS7250
82 tristate "NAND Flash device on TS-7250 board"
83 depends on MACH_TS72XX && MTD_NAND
84 help
85 Support for NAND flash on Technologic Systems TS-7250 platform.
86
Linus Torvalds1da177e2005-04-16 15:20:36 -070087config MTD_NAND_IDS
88 tristate
89
Linus Torvalds1da177e2005-04-16 15:20:36 -070090config MTD_NAND_AU1550
Pete Popovef6f0d12005-09-23 02:44:58 +010091 tristate "Au1550/1200 NAND support"
92 depends on (SOC_AU1200 || SOC_AU1550) && MTD_NAND
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 help
94 This enables the driver for the NAND flash controller on the
95 AMD/Alchemy 1550 SOC.
96
97config MTD_NAND_RTC_FROM4
98 tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)"
99 depends on MTD_NAND && SH_SOLUTION_ENGINE
100 select REED_SOLOMON
101 select REED_SOLOMON_DEC8
Adrian Bunk1605cd32006-11-22 05:38:11 +0100102 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103 help
Thomas Gleixner61b03bd2005-11-07 11:15:49 +0000104 This enables the driver for the Renesas Technology AG-AND
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 flash interface board (FROM_BOARD4)
106
107config MTD_NAND_PPCHAMELEONEVB
108 tristate "NAND Flash device on PPChameleonEVB board"
Thomas Gleixner85b85fe2006-05-23 22:03:39 +0200109 depends on PPCHAMELEONEVB && MTD_NAND && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110 help
111 This enables the NAND flash driver on the PPChameleon EVB Board.
112
113config MTD_NAND_S3C2410
Ben Dooksa4f957f2005-06-20 12:48:25 +0100114 tristate "NAND Flash support for S3C2410/S3C2440 SoC"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 depends on ARCH_S3C2410 && MTD_NAND
116 help
Ben Dooksa4f957f2005-06-20 12:48:25 +0100117 This enables the NAND flash controller on the S3C2410 and S3C2440
118 SoCs
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119
Egry Gábor4992a9e2006-05-12 17:35:02 +0100120 No board specific support is done by this driver, each board
Thomas Gleixner61b03bd2005-11-07 11:15:49 +0000121 must advertise a platform_device for the driver to attach.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122
123config MTD_NAND_S3C2410_DEBUG
124 bool "S3C2410 NAND driver debug"
125 depends on MTD_NAND_S3C2410
126 help
127 Enable debugging of the S3C2410 NAND driver
128
129config MTD_NAND_S3C2410_HWECC
130 bool "S3C2410 NAND Hardware ECC"
131 depends on MTD_NAND_S3C2410
132 help
133 Enable the use of the S3C2410's internal ECC generator when
134 using NAND. Early versions of the chip have had problems with
135 incorrect ECC generation, and if using these, the default of
136 software ECC is preferable.
137
Thomas Gleixnerce4c61f2006-05-23 11:43:28 +0200138config MTD_NAND_NDFC
139 tristate "NDFC NanD Flash Controller"
140 depends on MTD_NAND && 44x
Timo Lindhorst418b2e52006-12-05 15:23:33 +0100141 select MTD_NAND_ECC_SMC
Thomas Gleixnerce4c61f2006-05-23 11:43:28 +0200142 help
143 NDFC Nand Flash Controllers are integrated in EP44x SoCs
144
Ben Dooksd1fef3c2006-06-19 09:29:38 +0100145config MTD_NAND_S3C2410_CLKSTOP
146 bool "S3C2410 NAND IDLE clock stop"
147 depends on MTD_NAND_S3C2410
148 default n
149 help
150 Stop the clock to the NAND controller when there is no chip
151 selected to save power. This will mean there is a small delay
152 when the is NAND chip selected or released, but will save
153 approximately 5mA of power when there is nothing happening.
154
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155config MTD_NAND_DISKONCHIP
156 tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
157 depends on MTD_NAND && EXPERIMENTAL
158 select REED_SOLOMON
159 select REED_SOLOMON_DEC16
160 help
161 This is a reimplementation of M-Systems DiskOnChip 2000,
162 Millennium and Millennium Plus as a standard NAND device driver,
163 as opposed to the earlier self-contained MTD device drivers.
164 This should enable, among other things, proper JFFS2 operation on
165 these devices.
166
167config MTD_NAND_DISKONCHIP_PROBE_ADVANCED
168 bool "Advanced detection options for DiskOnChip"
169 depends on MTD_NAND_DISKONCHIP
170 help
171 This option allows you to specify nonstandard address at which to
172 probe for a DiskOnChip, or to change the detection options. You
173 are unlikely to need any of this unless you are using LinuxBIOS.
174 Say 'N'.
175
176config MTD_NAND_DISKONCHIP_PROBE_ADDRESS
177 hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED
178 depends on MTD_NAND_DISKONCHIP
179 default "0"
180 ---help---
181 By default, the probe for DiskOnChip devices will look for a
182 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
183 This option allows you to specify a single address at which to probe
184 for the device, which is useful if you have other devices in that
185 range which get upset when they are probed.
186
187 (Note that on PowerPC, the normal probe will only check at
188 0xE4000000.)
189
190 Normally, you should leave this set to zero, to allow the probe at
191 the normal addresses.
192
193config MTD_NAND_DISKONCHIP_PROBE_HIGH
194 bool "Probe high addresses"
195 depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED
196 help
197 By default, the probe for DiskOnChip devices will look for a
198 DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
199 This option changes to make it probe between 0xFFFC8000 and
200 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be
201 useful to you. Say 'N'.
202
203config MTD_NAND_DISKONCHIP_BBTWRITE
204 bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
205 depends on MTD_NAND_DISKONCHIP
206 help
207 On DiskOnChip devices shipped with the INFTL filesystem (Millennium
208 and 2000 TSOP/Alon), Linux reserves some space at the end of the
209 device for the Bad Block Table (BBT). If you have existing INFTL
210 data on your device (created by non-Linux tools such as M-Systems'
211 DOS drivers), your data might overlap the area Linux wants to use for
212 the BBT. If this is a concern for you, leave this option disabled and
213 Linux will not write BBT data into this area.
214 The downside of leaving this option disabled is that if bad blocks
215 are detected by Linux, they will not be recorded in the BBT, which
216 could cause future problems.
217 Once you enable this option, new filesystems (INFTL or others, created
218 in Linux or other operating systems) will not use the reserved area.
219 The only reason not to enable this option is to prevent damage to
220 preexisting filesystems.
221 Even if you leave this disabled, you can enable BBT writes at module
222 load time (assuming you build diskonchip as a module) with the module
223 parameter "inftl_bbt_write=1".
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224
Adrian Bunk54af6b42006-03-31 02:29:43 -0800225config MTD_NAND_SHARPSL
226 tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
227 depends on MTD_NAND && ARCH_PXA
228
Thomas Koeller67a9c7a2007-02-10 11:21:27 +0100229config MTD_NAND_BASLER_EXCITE
230 tristate "Support for NAND Flash on Basler eXcite"
231 depends on MTD_NAND && BASLER_EXCITE
232 help
233 This enables the driver for the NAND flash device found on the
234 Basler eXcite Smart Camera. If built as a module, the driver
235 will be named "excite_nandflash.ko".
236
David Woodhousec45aa052006-10-22 02:17:05 +0100237config MTD_NAND_CAFE
238 tristate "NAND support for OLPC CAFÉ chip"
David Woodhouseaa8f1272007-02-05 13:32:55 +0000239 depends on MTD_NAND && PCI
David Woodhousec45aa052006-10-22 02:17:05 +0100240 help
241 Use NAND flash attached to the CAFÉ chip designed for the $100
242 laptop.
243
David Woodhouse179fdc32006-05-11 22:35:28 +0100244config MTD_NAND_CS553X
245 tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
David Woodhouse33280ea2006-05-29 11:24:29 +0100246 depends on MTD_NAND && X86_32 && (X86_PC || X86_GENERICARCH)
David Woodhousef41a5f82006-05-16 13:11:47 +0100247 help
248 The CS553x companion chips for the AMD Geode processor
249 include NAND flash controllers with built-in hardware ECC
250 capabilities; enabling this option will allow you to use
251 these. The driver will check the MSRs to verify that the
252 controller is enabled for NAND, and currently requires that
253 the controller be in MMIO mode.
254
255 If you say "m", the module will be called "cs553x_nand.ko".
256
Andrew Victor42cb1402006-10-19 18:24:35 +0200257config MTD_NAND_AT91
258 bool "Support for NAND Flash / SmartMedia on AT91"
259 depends on MTD_NAND && ARCH_AT91
260 help
261 Enables support for NAND Flash / Smart Media Card interface
262 on Atmel AT91 processors.
263
Adrian Bunk54af6b42006-03-31 02:29:43 -0800264config MTD_NAND_NANDSIM
265 tristate "Support for NAND Flash Simulator"
266 depends on MTD_NAND && MTD_PARTITIONS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700267 help
David Woodhousef41a5f82006-05-16 13:11:47 +0100268 The simulator may simulate various NAND flash chips for the
Linus Torvalds1da177e2005-04-16 15:20:36 -0700269 MTD nand layer.
Adrian Bunk54af6b42006-03-31 02:29:43 -0800270
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271endmenu