f1d60b6f048e6f08aa855e19fed1337a292cfe79
[linux-2.6.git] / drivers / mtd / nand / Kconfig
1 # drivers/mtd/nand/Kconfig
2 # $Id: Kconfig,v 1.35 2005/11/07 11:14:30 gleixner Exp $
3
4 menuconfig MTD_NAND
5         tristate "NAND Device Support"
6         depends on MTD
7         select MTD_NAND_IDS
8         help
9           This enables support for accessing all type of NAND flash
10           devices. For further information see
11           <http://www.linux-mtd.infradead.org/doc/nand.html>.
12
13 if MTD_NAND
14
15 config MTD_NAND_VERIFY_WRITE
16         bool "Verify NAND page writes"
17         help
18           This adds an extra check when data is written to the flash. The
19           NAND flash device internally checks only bits transitioning
20           from 1 to 0. There is a rare possibility that even though the
21           device thinks the write was successful, a bit could have been
22           flipped accidentally due to device wear or something else.
23
24 config MTD_NAND_ECC_SMC
25         bool "NAND ECC Smart Media byte order"
26         default n
27         help
28           Software ECC according to the Smart Media Specification.
29           The original Linux implementation had byte 0 and 1 swapped.
30
31 config MTD_NAND_MUSEUM_IDS
32         bool "Enable chip ids for obsolete ancient NAND devices"
33         depends on MTD_NAND
34         default n
35         help
36           Enable this option only when your board has first generation
37           NAND chips (page size 256 byte, erase size 4-8KiB). The IDs
38           of these chips were reused by later, larger chips.
39
40 config MTD_NAND_AUTCPU12
41         tristate "SmartMediaCard on autronix autcpu12 board"
42         depends on ARCH_AUTCPU12
43         help
44           This enables the driver for the autronix autcpu12 board to
45           access the SmartMediaCard.
46
47 config MTD_NAND_EDB7312
48         tristate "Support for Cirrus Logic EBD7312 evaluation board"
49         depends on ARCH_EDB7312
50         help
51           This enables the driver for the Cirrus Logic EBD7312 evaluation
52           board to access the onboard NAND Flash.
53
54 config MTD_NAND_H1900
55         tristate "iPAQ H1900 flash"
56         depends on ARCH_PXA && MTD_PARTITIONS
57         help
58           This enables the driver for the iPAQ h1900 flash.
59
60 config MTD_NAND_SPIA
61         tristate "NAND Flash device on SPIA board"
62         depends on ARCH_P720T
63         help
64           If you had to ask, you don't have one. Say 'N'.
65
66 config MTD_NAND_AMS_DELTA
67         tristate "NAND Flash device on Amstrad E3"
68         depends on MACH_AMS_DELTA
69         help
70           Support for NAND flash on Amstrad E3 (Delta).
71
72 config MTD_NAND_TOTO
73         tristate "NAND Flash device on TOTO board"
74         depends on ARCH_OMAP && BROKEN
75         help
76           Support for NAND flash on Texas Instruments Toto platform.
77
78 config MTD_NAND_TS7250
79         tristate "NAND Flash device on TS-7250 board"
80         depends on MACH_TS72XX
81         help
82           Support for NAND flash on Technologic Systems TS-7250 platform.
83
84 config MTD_NAND_IDS
85         tristate
86
87 config MTD_NAND_AU1550
88         tristate "Au1550/1200 NAND support"
89         depends on SOC_AU1200 || SOC_AU1550
90         help
91           This enables the driver for the NAND flash controller on the
92           AMD/Alchemy 1550 SOC.
93
94 config MTD_NAND_RTC_FROM4
95         tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)"
96         depends on SH_SOLUTION_ENGINE
97         select REED_SOLOMON
98         select REED_SOLOMON_DEC8
99         select BITREVERSE
100         help
101           This enables the driver for the Renesas Technology AG-AND
102           flash interface board (FROM_BOARD4)
103
104 config MTD_NAND_PPCHAMELEONEVB
105         tristate "NAND Flash device on PPChameleonEVB board"
106         depends on PPCHAMELEONEVB && BROKEN
107         help
108           This enables the NAND flash driver on the PPChameleon EVB Board.
109
110 config MTD_NAND_S3C2410
111         tristate "NAND Flash support for S3C2410/S3C2440 SoC"
112         depends on ARCH_S3C2410
113         help
114           This enables the NAND flash controller on the S3C2410 and S3C2440
115           SoCs
116
117           No board specific support is done by this driver, each board
118           must advertise a platform_device for the driver to attach.
119
120 config MTD_NAND_S3C2410_DEBUG
121         bool "S3C2410 NAND driver debug"
122         depends on MTD_NAND_S3C2410
123         help
124           Enable debugging of the S3C2410 NAND driver
125
126 config MTD_NAND_S3C2410_HWECC
127         bool "S3C2410 NAND Hardware ECC"
128         depends on MTD_NAND_S3C2410
129         help
130           Enable the use of the S3C2410's internal ECC generator when
131           using NAND. Early versions of the chip have had problems with
132           incorrect ECC generation, and if using these, the default of
133           software ECC is preferable.
134
135 config MTD_NAND_NDFC
136         tristate "NDFC NanD Flash Controller"
137         depends on 44x
138         select MTD_NAND_ECC_SMC
139         help
140          NDFC Nand Flash Controllers are integrated in EP44x SoCs
141
142 config MTD_NAND_S3C2410_CLKSTOP
143         bool "S3C2410 NAND IDLE clock stop"
144         depends on MTD_NAND_S3C2410
145         default n
146         help
147           Stop the clock to the NAND controller when there is no chip
148           selected to save power. This will mean there is a small delay
149           when the is NAND chip selected or released, but will save
150           approximately 5mA of power when there is nothing happening.
151
152 config MTD_NAND_DISKONCHIP
153         tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
154         depends on EXPERIMENTAL
155         select REED_SOLOMON
156         select REED_SOLOMON_DEC16
157         help
158           This is a reimplementation of M-Systems DiskOnChip 2000,
159           Millennium and Millennium Plus as a standard NAND device driver,
160           as opposed to the earlier self-contained MTD device drivers.
161           This should enable, among other things, proper JFFS2 operation on
162           these devices.
163
164 config MTD_NAND_DISKONCHIP_PROBE_ADVANCED
165         bool "Advanced detection options for DiskOnChip"
166         depends on MTD_NAND_DISKONCHIP
167         help
168           This option allows you to specify nonstandard address at which to
169           probe for a DiskOnChip, or to change the detection options.  You
170           are unlikely to need any of this unless you are using LinuxBIOS.
171           Say 'N'.
172
173 config MTD_NAND_DISKONCHIP_PROBE_ADDRESS
174         hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED
175         depends on MTD_NAND_DISKONCHIP
176         default "0"
177         ---help---
178         By default, the probe for DiskOnChip devices will look for a
179         DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
180         This option allows you to specify a single address at which to probe
181         for the device, which is useful if you have other devices in that
182         range which get upset when they are probed.
183
184         (Note that on PowerPC, the normal probe will only check at
185         0xE4000000.)
186
187         Normally, you should leave this set to zero, to allow the probe at
188         the normal addresses.
189
190 config MTD_NAND_DISKONCHIP_PROBE_HIGH
191         bool "Probe high addresses"
192         depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED
193         help
194           By default, the probe for DiskOnChip devices will look for a
195           DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
196           This option changes to make it probe between 0xFFFC8000 and
197           0xFFFEE000.  Unless you are using LinuxBIOS, this is unlikely to be
198           useful to you.  Say 'N'.
199
200 config MTD_NAND_DISKONCHIP_BBTWRITE
201         bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
202         depends on MTD_NAND_DISKONCHIP
203         help
204           On DiskOnChip devices shipped with the INFTL filesystem (Millennium
205           and 2000 TSOP/Alon), Linux reserves some space at the end of the
206           device for the Bad Block Table (BBT).  If you have existing INFTL
207           data on your device (created by non-Linux tools such as M-Systems'
208           DOS drivers), your data might overlap the area Linux wants to use for
209           the BBT.  If this is a concern for you, leave this option disabled and
210           Linux will not write BBT data into this area.
211           The downside of leaving this option disabled is that if bad blocks
212           are detected by Linux, they will not be recorded in the BBT, which
213           could cause future problems.
214           Once you enable this option, new filesystems (INFTL or others, created
215           in Linux or other operating systems) will not use the reserved area.
216           The only reason not to enable this option is to prevent damage to
217           preexisting filesystems.
218           Even if you leave this disabled, you can enable BBT writes at module
219           load time (assuming you build diskonchip as a module) with the module
220           parameter "inftl_bbt_write=1".
221
222 config MTD_NAND_SHARPSL
223         tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
224         depends on ARCH_PXA
225
226 config MTD_NAND_BASLER_EXCITE
227         tristate  "Support for NAND Flash on Basler eXcite"
228         depends on BASLER_EXCITE
229         help
230           This enables the driver for the NAND flash device found on the
231           Basler eXcite Smart Camera. If built as a module, the driver
232           will be named "excite_nandflash.ko".
233
234 config MTD_NAND_CAFE
235         tristate "NAND support for OLPC CAFÉ chip"
236         depends on PCI
237         select REED_SOLOMON
238         select REED_SOLOMON_DEC16
239         help
240           Use NAND flash attached to the CAFÉ chip designed for the $100
241           laptop.
242
243 config MTD_NAND_CS553X
244         tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
245         depends on X86_32 && (X86_PC || X86_GENERICARCH)
246         help
247           The CS553x companion chips for the AMD Geode processor
248           include NAND flash controllers with built-in hardware ECC
249           capabilities; enabling this option will allow you to use
250           these. The driver will check the MSRs to verify that the
251           controller is enabled for NAND, and currently requires that
252           the controller be in MMIO mode.
253
254           If you say "m", the module will be called "cs553x_nand.ko".
255
256 config MTD_NAND_AT91
257         bool "Support for NAND Flash / SmartMedia on AT91"
258         depends on ARCH_AT91
259         help
260           Enables support for NAND Flash / Smart Media Card interface
261           on Atmel AT91 processors.
262
263 config MTD_NAND_CM_X270
264         tristate "Support for NAND Flash on CM-X270 modules"
265         depends on MTD_NAND && MACH_ARMCORE
266
267
268 config MTD_NAND_NANDSIM
269         tristate "Support for NAND Flash Simulator"
270         depends on MTD_PARTITIONS
271         help
272           The simulator may simulate various NAND flash chips for the
273           MTD nand layer.
274
275 config MTD_NAND_PLATFORM
276         tristate "Support for generic platform NAND driver"
277         depends on MTD_NAND
278         help
279           This implements a generic NAND driver for on-SOC platform
280           devices. You will need to provide platform-specific functions
281           via platform_data.
282
283
284 endif # MTD_NAND