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