xref: /openbmc/linux/drivers/mtd/nand/Kconfig (revision 6ab3d562)
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/tech/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 accidentaly 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	help
94	  This enables the driver for the Renesas Technology AG-AND
95	  flash interface board (FROM_BOARD4)
96
97config MTD_NAND_PPCHAMELEONEVB
98	tristate "NAND Flash device on PPChameleonEVB board"
99	depends on PPCHAMELEONEVB && MTD_NAND && BROKEN
100	help
101	  This enables the NAND flash driver on the PPChameleon EVB Board.
102
103config MTD_NAND_S3C2410
104	tristate "NAND Flash support for S3C2410/S3C2440 SoC"
105	depends on ARCH_S3C2410 && MTD_NAND
106	help
107	  This enables the NAND flash controller on the S3C2410 and S3C2440
108	  SoCs
109
110	  No board specific support is done by this driver, each board
111	  must advertise a platform_device for the driver to attach.
112
113config MTD_NAND_S3C2410_DEBUG
114	bool "S3C2410 NAND driver debug"
115	depends on MTD_NAND_S3C2410
116	help
117	  Enable debugging of the S3C2410 NAND driver
118
119config MTD_NAND_S3C2410_HWECC
120	bool "S3C2410 NAND Hardware ECC"
121	depends on MTD_NAND_S3C2410
122	help
123	  Enable the use of the S3C2410's internal ECC generator when
124	  using NAND. Early versions of the chip have had problems with
125	  incorrect ECC generation, and if using these, the default of
126	  software ECC is preferable.
127
128	  If you lay down a device with the hardware ECC, then you will
129	  currently not be able to switch to software, as there is no
130	  implementation for ECC method used by the S3C2410
131
132config MTD_NAND_NDFC
133	tristate "NDFC NanD Flash Controller"
134	depends on MTD_NAND && 44x
135	help
136	 NDFC Nand Flash Controllers are integrated in EP44x SoCs
137
138config MTD_NAND_S3C2410_CLKSTOP
139	bool "S3C2410 NAND IDLE clock stop"
140	depends on MTD_NAND_S3C2410
141	default n
142	help
143	  Stop the clock to the NAND controller when there is no chip
144	  selected to save power. This will mean there is a small delay
145	  when the is NAND chip selected or released, but will save
146	  approximately 5mA of power when there is nothing happening.
147
148config MTD_NAND_DISKONCHIP
149	tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
150	depends on MTD_NAND && EXPERIMENTAL
151	select REED_SOLOMON
152	select REED_SOLOMON_DEC16
153	help
154	  This is a reimplementation of M-Systems DiskOnChip 2000,
155	  Millennium and Millennium Plus as a standard NAND device driver,
156	  as opposed to the earlier self-contained MTD device drivers.
157	  This should enable, among other things, proper JFFS2 operation on
158	  these devices.
159
160config MTD_NAND_DISKONCHIP_PROBE_ADVANCED
161        bool "Advanced detection options for DiskOnChip"
162        depends on MTD_NAND_DISKONCHIP
163        help
164          This option allows you to specify nonstandard address at which to
165          probe for a DiskOnChip, or to change the detection options.  You
166          are unlikely to need any of this unless you are using LinuxBIOS.
167          Say 'N'.
168
169config MTD_NAND_DISKONCHIP_PROBE_ADDRESS
170        hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED
171        depends on MTD_NAND_DISKONCHIP
172        default "0"
173        ---help---
174        By default, the probe for DiskOnChip devices will look for a
175        DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
176        This option allows you to specify a single address at which to probe
177        for the device, which is useful if you have other devices in that
178        range which get upset when they are probed.
179
180        (Note that on PowerPC, the normal probe will only check at
181        0xE4000000.)
182
183        Normally, you should leave this set to zero, to allow the probe at
184        the normal addresses.
185
186config MTD_NAND_DISKONCHIP_PROBE_HIGH
187        bool "Probe high addresses"
188        depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED
189        help
190          By default, the probe for DiskOnChip devices will look for a
191          DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
192          This option changes to make it probe between 0xFFFC8000 and
193          0xFFFEE000.  Unless you are using LinuxBIOS, this is unlikely to be
194          useful to you.  Say 'N'.
195
196config MTD_NAND_DISKONCHIP_BBTWRITE
197	bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
198	depends on MTD_NAND_DISKONCHIP
199	help
200	  On DiskOnChip devices shipped with the INFTL filesystem (Millennium
201	  and 2000 TSOP/Alon), Linux reserves some space at the end of the
202	  device for the Bad Block Table (BBT).  If you have existing INFTL
203	  data on your device (created by non-Linux tools such as M-Systems'
204	  DOS drivers), your data might overlap the area Linux wants to use for
205	  the BBT.  If this is a concern for you, leave this option disabled and
206	  Linux will not write BBT data into this area.
207	  The downside of leaving this option disabled is that if bad blocks
208	  are detected by Linux, they will not be recorded in the BBT, which
209	  could cause future problems.
210	  Once you enable this option, new filesystems (INFTL or others, created
211	  in Linux or other operating systems) will not use the reserved area.
212	  The only reason not to enable this option is to prevent damage to
213	  preexisting filesystems.
214	  Even if you leave this disabled, you can enable BBT writes at module
215	  load time (assuming you build diskonchip as a module) with the module
216	  parameter "inftl_bbt_write=1".
217
218config MTD_NAND_SHARPSL
219	tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
220	depends on MTD_NAND && ARCH_PXA
221
222config MTD_NAND_CS553X
223	tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
224	depends on MTD_NAND && X86_32 && (X86_PC || X86_GENERICARCH)
225	help
226	  The CS553x companion chips for the AMD Geode processor
227	  include NAND flash controllers with built-in hardware ECC
228	  capabilities; enabling this option will allow you to use
229	  these. The driver will check the MSRs to verify that the
230	  controller is enabled for NAND, and currently requires that
231	  the controller be in MMIO mode.
232
233	  If you say "m", the module will be called "cs553x_nand.ko".
234
235config MTD_NAND_NANDSIM
236	tristate "Support for NAND Flash Simulator"
237	depends on MTD_NAND && MTD_PARTITIONS
238	help
239	  The simulator may simulate various NAND flash chips for the
240	  MTD nand layer.
241
242endmenu
243