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