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