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