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 | ||
7d532dd5 LB |
77 | config MTD_NAND_TS7250 |
78 | tristate "NAND Flash device on TS-7250 board" | |
ec98c681 | 79 | depends on MACH_TS72XX |
7d532dd5 LB |
80 | help |
81 | Support for NAND flash on Technologic Systems TS-7250 platform. | |
82 | ||
1da177e4 LT |
83 | config MTD_NAND_IDS |
84 | tristate | |
85 | ||
1da177e4 | 86 | config MTD_NAND_AU1550 |
ef6f0d1f | 87 | tristate "Au1550/1200 NAND support" |
ec98c681 | 88 | depends on SOC_AU1200 || SOC_AU1550 |
1da177e4 LT |
89 | help |
90 | This enables the driver for the NAND flash controller on the | |
91 | AMD/Alchemy 1550 SOC. | |
92 | ||
b37bde14 BW |
93 | config MTD_NAND_BF5XX |
94 | tristate "Blackfin on-chip NAND Flash Controller driver" | |
a25b7fee | 95 | depends on (BF54x || BF52x) && MTD_NAND |
b37bde14 BW |
96 | help |
97 | This enables the Blackfin on-chip NAND flash controller | |
98 | ||
99 | No board specific support is done by this driver, each board | |
100 | must advertise a platform_device for the driver to attach. | |
101 | ||
102 | This driver can also be built as a module. If so, the module | |
103 | will be called bf5xx-nand. | |
104 | ||
105 | config MTD_NAND_BF5XX_HWECC | |
106 | bool "BF5XX NAND Hardware ECC" | |
a0dd2018 | 107 | default y |
b37bde14 BW |
108 | depends on MTD_NAND_BF5XX |
109 | help | |
110 | Enable the use of the BF5XX's internal ECC generator when | |
111 | using NAND. | |
112 | ||
fcb90ba7 MF |
113 | config MTD_NAND_BF5XX_BOOTROM_ECC |
114 | bool "Use Blackfin BootROM ECC Layout" | |
115 | default n | |
116 | depends on MTD_NAND_BF5XX_HWECC | |
117 | help | |
118 | If you wish to modify NAND pages and allow the Blackfin on-chip | |
119 | BootROM to boot from them, say Y here. This is only necessary | |
120 | if you are booting U-Boot out of NAND and you wish to update | |
121 | U-Boot from Linux' userspace. Otherwise, you should say N here. | |
122 | ||
123 | If unsure, say N. | |
124 | ||
1da177e4 LT |
125 | config MTD_NAND_RTC_FROM4 |
126 | tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)" | |
ec98c681 | 127 | depends on SH_SOLUTION_ENGINE |
1da177e4 LT |
128 | select REED_SOLOMON |
129 | select REED_SOLOMON_DEC8 | |
1605cd3d | 130 | select BITREVERSE |
1da177e4 | 131 | help |
61b03bd7 | 132 | This enables the driver for the Renesas Technology AG-AND |
1da177e4 LT |
133 | flash interface board (FROM_BOARD4) |
134 | ||
135 | config MTD_NAND_PPCHAMELEONEVB | |
136 | tristate "NAND Flash device on PPChameleonEVB board" | |
ec98c681 | 137 | depends on PPCHAMELEONEVB && BROKEN |
1da177e4 LT |
138 | help |
139 | This enables the NAND flash driver on the PPChameleon EVB Board. | |
140 | ||
141 | config MTD_NAND_S3C2410 | |
a4f957f1 | 142 | tristate "NAND Flash support for S3C2410/S3C2440 SoC" |
ec98c681 | 143 | depends on ARCH_S3C2410 |
1da177e4 | 144 | help |
a4f957f1 BD |
145 | This enables the NAND flash controller on the S3C2410 and S3C2440 |
146 | SoCs | |
1da177e4 | 147 | |
4992a9e8 | 148 | No board specific support is done by this driver, each board |
61b03bd7 | 149 | must advertise a platform_device for the driver to attach. |
1da177e4 LT |
150 | |
151 | config MTD_NAND_S3C2410_DEBUG | |
152 | bool "S3C2410 NAND driver debug" | |
153 | depends on MTD_NAND_S3C2410 | |
154 | help | |
155 | Enable debugging of the S3C2410 NAND driver | |
156 | ||
157 | config MTD_NAND_S3C2410_HWECC | |
158 | bool "S3C2410 NAND Hardware ECC" | |
159 | depends on MTD_NAND_S3C2410 | |
160 | help | |
161 | Enable the use of the S3C2410's internal ECC generator when | |
162 | using NAND. Early versions of the chip have had problems with | |
163 | incorrect ECC generation, and if using these, the default of | |
164 | software ECC is preferable. | |
165 | ||
d1fef3c5 BD |
166 | config MTD_NAND_S3C2410_CLKSTOP |
167 | bool "S3C2410 NAND IDLE clock stop" | |
168 | depends on MTD_NAND_S3C2410 | |
169 | default n | |
170 | help | |
171 | Stop the clock to the NAND controller when there is no chip | |
172 | selected to save power. This will mean there is a small delay | |
173 | when the is NAND chip selected or released, but will save | |
174 | approximately 5mA of power when there is nothing happening. | |
175 | ||
1da177e4 LT |
176 | config MTD_NAND_DISKONCHIP |
177 | tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)" | |
ec98c681 | 178 | depends on EXPERIMENTAL |
1da177e4 LT |
179 | select REED_SOLOMON |
180 | select REED_SOLOMON_DEC16 | |
181 | help | |
182 | This is a reimplementation of M-Systems DiskOnChip 2000, | |
183 | Millennium and Millennium Plus as a standard NAND device driver, | |
184 | as opposed to the earlier self-contained MTD device drivers. | |
185 | This should enable, among other things, proper JFFS2 operation on | |
186 | these devices. | |
187 | ||
188 | config MTD_NAND_DISKONCHIP_PROBE_ADVANCED | |
189 | bool "Advanced detection options for DiskOnChip" | |
190 | depends on MTD_NAND_DISKONCHIP | |
191 | help | |
192 | This option allows you to specify nonstandard address at which to | |
193 | probe for a DiskOnChip, or to change the detection options. You | |
194 | are unlikely to need any of this unless you are using LinuxBIOS. | |
195 | Say 'N'. | |
196 | ||
197 | config MTD_NAND_DISKONCHIP_PROBE_ADDRESS | |
198 | hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED | |
199 | depends on MTD_NAND_DISKONCHIP | |
200 | default "0" | |
201 | ---help--- | |
202 | By default, the probe for DiskOnChip devices will look for a | |
203 | DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. | |
204 | This option allows you to specify a single address at which to probe | |
205 | for the device, which is useful if you have other devices in that | |
206 | range which get upset when they are probed. | |
207 | ||
208 | (Note that on PowerPC, the normal probe will only check at | |
209 | 0xE4000000.) | |
210 | ||
211 | Normally, you should leave this set to zero, to allow the probe at | |
212 | the normal addresses. | |
213 | ||
214 | config MTD_NAND_DISKONCHIP_PROBE_HIGH | |
215 | bool "Probe high addresses" | |
216 | depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED | |
217 | help | |
218 | By default, the probe for DiskOnChip devices will look for a | |
219 | DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. | |
220 | This option changes to make it probe between 0xFFFC8000 and | |
221 | 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be | |
222 | useful to you. Say 'N'. | |
223 | ||
224 | config MTD_NAND_DISKONCHIP_BBTWRITE | |
225 | bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP" | |
226 | depends on MTD_NAND_DISKONCHIP | |
227 | help | |
228 | On DiskOnChip devices shipped with the INFTL filesystem (Millennium | |
229 | and 2000 TSOP/Alon), Linux reserves some space at the end of the | |
230 | device for the Bad Block Table (BBT). If you have existing INFTL | |
231 | data on your device (created by non-Linux tools such as M-Systems' | |
232 | DOS drivers), your data might overlap the area Linux wants to use for | |
233 | the BBT. If this is a concern for you, leave this option disabled and | |
234 | Linux will not write BBT data into this area. | |
235 | The downside of leaving this option disabled is that if bad blocks | |
236 | are detected by Linux, they will not be recorded in the BBT, which | |
237 | could cause future problems. | |
238 | Once you enable this option, new filesystems (INFTL or others, created | |
239 | in Linux or other operating systems) will not use the reserved area. | |
240 | The only reason not to enable this option is to prevent damage to | |
241 | preexisting filesystems. | |
242 | Even if you leave this disabled, you can enable BBT writes at module | |
243 | load time (assuming you build diskonchip as a module) with the module | |
244 | parameter "inftl_bbt_write=1". | |
1da177e4 | 245 | |
54af6b46 AB |
246 | config MTD_NAND_SHARPSL |
247 | tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)" | |
ec98c681 | 248 | depends on ARCH_PXA |
54af6b46 | 249 | |
67a9c7af TK |
250 | config MTD_NAND_BASLER_EXCITE |
251 | tristate "Support for NAND Flash on Basler eXcite" | |
ec98c681 | 252 | depends on BASLER_EXCITE |
67a9c7af TK |
253 | help |
254 | This enables the driver for the NAND flash device found on the | |
255 | Basler eXcite Smart Camera. If built as a module, the driver | |
256 | will be named "excite_nandflash.ko". | |
257 | ||
c45aa055 | 258 | config MTD_NAND_CAFE |
8c61b7a7 SB |
259 | tristate "NAND support for OLPC CAFÉ chip" |
260 | depends on PCI | |
261 | select REED_SOLOMON | |
262 | select REED_SOLOMON_DEC16 | |
263 | help | |
8f46c527 | 264 | Use NAND flash attached to the CAFÉ chip designed for the OLPC |
8c61b7a7 | 265 | laptop. |
c45aa055 | 266 | |
179fdc3f DW |
267 | config MTD_NAND_CS553X |
268 | tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)" | |
ec98c681 | 269 | depends on X86_32 && (X86_PC || X86_GENERICARCH) |
f41a5f80 DW |
270 | help |
271 | The CS553x companion chips for the AMD Geode processor | |
272 | include NAND flash controllers with built-in hardware ECC | |
273 | capabilities; enabling this option will allow you to use | |
274 | these. The driver will check the MSRs to verify that the | |
275 | controller is enabled for NAND, and currently requires that | |
276 | the controller be in MMIO mode. | |
277 | ||
278 | If you say "m", the module will be called "cs553x_nand.ko". | |
279 | ||
d4f4c0aa | 280 | config MTD_NAND_ATMEL |
bd5a4382 | 281 | tristate "Support for NAND Flash / SmartMedia on AT91 and AVR32" |
984290de | 282 | depends on ARCH_AT91 || AVR32 |
42cb1403 AV |
283 | help |
284 | Enables support for NAND Flash / Smart Media Card interface | |
984290de | 285 | on Atmel AT91 and AVR32 processors. |
77f5492c | 286 | choice |
984290de | 287 | prompt "ECC management for NAND Flash / SmartMedia on AT91 / AVR32" |
d4f4c0aa | 288 | depends on MTD_NAND_ATMEL |
77f5492c | 289 | |
d4f4c0aa | 290 | config MTD_NAND_ATMEL_ECC_HW |
77f5492c | 291 | bool "Hardware ECC" |
984290de | 292 | depends on ARCH_AT91SAM9263 || ARCH_AT91SAM9260 || AVR32 |
77f5492c | 293 | help |
d4f4c0aa HS |
294 | Use hardware ECC instead of software ECC when the chip |
295 | supports it. | |
296 | ||
77f5492c RG |
297 | The hardware ECC controller is capable of single bit error |
298 | correction and 2-bit random detection per page. | |
299 | ||
300 | NB : hardware and software ECC schemes are incompatible. | |
301 | If you switch from one to another, you'll have to erase your | |
302 | mtd partition. | |
303 | ||
304 | If unsure, say Y | |
305 | ||
d4f4c0aa | 306 | config MTD_NAND_ATMEL_ECC_SOFT |
77f5492c RG |
307 | bool "Software ECC" |
308 | help | |
d4f4c0aa | 309 | Use software ECC. |
77f5492c RG |
310 | |
311 | NB : hardware and software ECC schemes are incompatible. | |
312 | If you switch from one to another, you'll have to erase your | |
313 | mtd partition. | |
314 | ||
d4f4c0aa | 315 | config MTD_NAND_ATMEL_ECC_NONE |
77f5492c RG |
316 | bool "No ECC (testing only, DANGEROUS)" |
317 | depends on DEBUG_KERNEL | |
318 | help | |
319 | No ECC will be used. | |
320 | It's not a good idea and it should be reserved for testing | |
321 | purpose only. | |
322 | ||
323 | If unsure, say N | |
324 | ||
325 | endchoice | |
326 | ||
327 | endchoice | |
42cb1403 | 328 | |
fe69af00 | 329 | config MTD_NAND_PXA3xx |
330 | bool "Support for NAND flash devices on PXA3xx" | |
331 | depends on MTD_NAND && PXA3xx | |
332 | help | |
333 | This enables the driver for the NAND flash device found on | |
334 | PXA3xx processors | |
335 | ||
80ebf20f ES |
336 | config MTD_NAND_PXA3xx_BUILTIN |
337 | bool "Use builtin definitions for some NAND chips (deprecated)" | |
338 | depends on MTD_NAND_PXA3xx | |
339 | help | |
340 | This enables builtin definitions for some NAND chips. This | |
341 | is deprecated in favor of platform specific data. | |
342 | ||
54d33c4c MR |
343 | config MTD_NAND_CM_X270 |
344 | tristate "Support for NAND Flash on CM-X270 modules" | |
345 | depends on MTD_NAND && MACH_ARMCORE | |
346 | ||
846fc31d EM |
347 | config MTD_NAND_PASEMI |
348 | tristate "NAND support for PA Semi PWRficient" | |
349 | depends on MTD_NAND && PPC_PASEMI | |
350 | help | |
351 | Enables support for NAND Flash interface on PA Semi PWRficient | |
352 | based boards | |
54d33c4c | 353 | |
ec43b816 IM |
354 | config MTD_NAND_TMIO |
355 | tristate "NAND Flash device on Toshiba Mobile IO Controller" | |
1c2c30ac | 356 | depends on MTD_NAND && MFD_TMIO |
ec43b816 IM |
357 | help |
358 | Support for NAND flash connected to a Toshiba Mobile IO | |
359 | Controller in some PDAs, including the Sharp SL6000x. | |
360 | ||
54af6b46 AB |
361 | config MTD_NAND_NANDSIM |
362 | tristate "Support for NAND Flash Simulator" | |
ec98c681 | 363 | depends on MTD_PARTITIONS |
1da177e4 | 364 | help |
f41a5f80 | 365 | The simulator may simulate various NAND flash chips for the |
1da177e4 | 366 | MTD nand layer. |
54af6b46 | 367 | |
711fdf62 VW |
368 | config MTD_NAND_PLATFORM |
369 | tristate "Support for generic platform NAND driver" | |
370 | depends on MTD_NAND | |
371 | help | |
372 | This implements a generic NAND driver for on-SOC platform | |
373 | devices. You will need to provide platform-specific functions | |
374 | via platform_data. | |
375 | ||
e208520e | 376 | config MTD_ALAUDA |
42265940 | 377 | tristate "MTD driver for Olympus MAUSB-10 and Fujifilm DPC-R1" |
e208520e JE |
378 | depends on MTD_NAND && USB |
379 | help | |
380 | These two (and possibly other) Alauda-based cardreaders for | |
381 | SmartMedia and xD allow raw flash access. | |
711fdf62 | 382 | |
2a1dba29 TP |
383 | config MTD_NAND_ORION |
384 | tristate "NAND Flash support for Marvell Orion SoC" | |
5d4294c5 | 385 | depends on PLAT_ORION && MTD_NAND |
2a1dba29 TP |
386 | help |
387 | This enables the NAND flash controller on Orion machines. | |
388 | ||
389 | No board specific support is done by this driver, each board | |
390 | must advertise a platform_device for the driver to attach. | |
391 | ||
76b10467 SW |
392 | config MTD_NAND_FSL_ELBC |
393 | tristate "NAND support for Freescale eLBC controllers" | |
394 | depends on MTD_NAND && PPC_OF | |
395 | help | |
396 | Various Freescale chips, including the 8313, include a NAND Flash | |
397 | Controller Module with built-in hardware ECC capabilities. | |
398 | Enabling this option will enable you to use this to control | |
399 | external NAND devices. | |
400 | ||
5c249c5a AV |
401 | config MTD_NAND_FSL_UPM |
402 | tristate "Support for NAND on Freescale UPM" | |
13f53697 | 403 | depends on MTD_NAND && (PPC_83xx || PPC_85xx) |
5c249c5a AV |
404 | select FSL_LBC |
405 | help | |
406 | Enables support for NAND Flash chips wired onto Freescale PowerPC | |
407 | processor localbus with User-Programmable Machine support. | |
408 | ||
34f6e157 SH |
409 | config MTD_NAND_MXC |
410 | tristate "MXC NAND support" | |
cb96cf1a | 411 | depends on ARCH_MX2 || ARCH_MX3 |
34f6e157 SH |
412 | help |
413 | This enables the driver for the NAND flash controller on the | |
414 | MXC processors. | |
415 | ||
6028aa01 YS |
416 | config MTD_NAND_SH_FLCTL |
417 | tristate "Support for NAND on Renesas SuperH FLCTL" | |
418 | depends on MTD_NAND && SUPERH && CPU_SUBTYPE_SH7723 | |
419 | help | |
420 | Several Renesas SuperH CPU has FLCTL. This option enables support | |
421 | for NAND Flash using FLCTL. This driver support SH7723. | |
422 | ||
ec98c681 | 423 | endif # MTD_NAND |