xref: /linux/drivers/mtd/nand/raw/Kconfig (revision 93db446a424cee9387b532995e6b516667079555)
1*93db446aSBoris Brezillonconfig MTD_NAND_ECC
2*93db446aSBoris Brezillon	tristate
3*93db446aSBoris Brezillon
4*93db446aSBoris Brezillonconfig MTD_NAND_ECC_SMC
5*93db446aSBoris Brezillon	bool "NAND ECC Smart Media byte order"
6*93db446aSBoris Brezillon	depends on MTD_NAND_ECC
7*93db446aSBoris Brezillon	default n
8*93db446aSBoris Brezillon	help
9*93db446aSBoris Brezillon	  Software ECC according to the Smart Media Specification.
10*93db446aSBoris Brezillon	  The original Linux implementation had byte 0 and 1 swapped.
11*93db446aSBoris Brezillon
12*93db446aSBoris Brezillon
13*93db446aSBoris Brezillonmenuconfig MTD_NAND
14*93db446aSBoris Brezillon	tristate "NAND Device Support"
15*93db446aSBoris Brezillon	depends on MTD
16*93db446aSBoris Brezillon	select MTD_NAND_ECC
17*93db446aSBoris Brezillon	help
18*93db446aSBoris Brezillon	  This enables support for accessing all type of NAND flash
19*93db446aSBoris Brezillon	  devices. For further information see
20*93db446aSBoris Brezillon	  <http://www.linux-mtd.infradead.org/doc/nand.html>.
21*93db446aSBoris Brezillon
22*93db446aSBoris Brezillonif MTD_NAND
23*93db446aSBoris Brezillon
24*93db446aSBoris Brezillonconfig MTD_NAND_BCH
25*93db446aSBoris Brezillon	tristate
26*93db446aSBoris Brezillon	select BCH
27*93db446aSBoris Brezillon	depends on MTD_NAND_ECC_BCH
28*93db446aSBoris Brezillon	default MTD_NAND
29*93db446aSBoris Brezillon
30*93db446aSBoris Brezillonconfig MTD_NAND_ECC_BCH
31*93db446aSBoris Brezillon	bool "Support software BCH ECC"
32*93db446aSBoris Brezillon	default n
33*93db446aSBoris Brezillon	help
34*93db446aSBoris Brezillon	  This enables support for software BCH error correction. Binary BCH
35*93db446aSBoris Brezillon	  codes are more powerful and cpu intensive than traditional Hamming
36*93db446aSBoris Brezillon	  ECC codes. They are used with NAND devices requiring more than 1 bit
37*93db446aSBoris Brezillon	  of error correction.
38*93db446aSBoris Brezillon
39*93db446aSBoris Brezillonconfig MTD_SM_COMMON
40*93db446aSBoris Brezillon	tristate
41*93db446aSBoris Brezillon	default n
42*93db446aSBoris Brezillon
43*93db446aSBoris Brezillonconfig MTD_NAND_DENALI
44*93db446aSBoris Brezillon	tristate
45*93db446aSBoris Brezillon
46*93db446aSBoris Brezillonconfig MTD_NAND_DENALI_PCI
47*93db446aSBoris Brezillon        tristate "Support Denali NAND controller on Intel Moorestown"
48*93db446aSBoris Brezillon	select MTD_NAND_DENALI
49*93db446aSBoris Brezillon	depends on HAS_DMA && PCI
50*93db446aSBoris Brezillon        help
51*93db446aSBoris Brezillon          Enable the driver for NAND flash on Intel Moorestown, using the
52*93db446aSBoris Brezillon          Denali NAND controller core.
53*93db446aSBoris Brezillon
54*93db446aSBoris Brezillonconfig MTD_NAND_DENALI_DT
55*93db446aSBoris Brezillon	tristate "Support Denali NAND controller as a DT device"
56*93db446aSBoris Brezillon	select MTD_NAND_DENALI
57*93db446aSBoris Brezillon	depends on HAS_DMA && HAVE_CLK && OF
58*93db446aSBoris Brezillon	help
59*93db446aSBoris Brezillon	  Enable the driver for NAND flash on platforms using a Denali NAND
60*93db446aSBoris Brezillon	  controller as a DT device.
61*93db446aSBoris Brezillon
62*93db446aSBoris Brezillonconfig MTD_NAND_GPIO
63*93db446aSBoris Brezillon	tristate "GPIO assisted NAND Flash driver"
64*93db446aSBoris Brezillon	depends on GPIOLIB || COMPILE_TEST
65*93db446aSBoris Brezillon	depends on HAS_IOMEM
66*93db446aSBoris Brezillon	help
67*93db446aSBoris Brezillon	  This enables a NAND flash driver where control signals are
68*93db446aSBoris Brezillon	  connected to GPIO pins, and commands and data are communicated
69*93db446aSBoris Brezillon	  via a memory mapped interface.
70*93db446aSBoris Brezillon
71*93db446aSBoris Brezillonconfig MTD_NAND_AMS_DELTA
72*93db446aSBoris Brezillon	tristate "NAND Flash device on Amstrad E3"
73*93db446aSBoris Brezillon	depends on MACH_AMS_DELTA
74*93db446aSBoris Brezillon	default y
75*93db446aSBoris Brezillon	help
76*93db446aSBoris Brezillon	  Support for NAND flash on Amstrad E3 (Delta).
77*93db446aSBoris Brezillon
78*93db446aSBoris Brezillonconfig MTD_NAND_OMAP2
79*93db446aSBoris Brezillon	tristate "NAND Flash device on OMAP2, OMAP3, OMAP4 and Keystone"
80*93db446aSBoris Brezillon	depends on (ARCH_OMAP2PLUS || ARCH_KEYSTONE)
81*93db446aSBoris Brezillon	help
82*93db446aSBoris Brezillon          Support for NAND flash on Texas Instruments OMAP2, OMAP3, OMAP4
83*93db446aSBoris Brezillon	  and Keystone platforms.
84*93db446aSBoris Brezillon
85*93db446aSBoris Brezillonconfig MTD_NAND_OMAP_BCH
86*93db446aSBoris Brezillon	depends on MTD_NAND_OMAP2
87*93db446aSBoris Brezillon	bool "Support hardware based BCH error correction"
88*93db446aSBoris Brezillon	default n
89*93db446aSBoris Brezillon	select BCH
90*93db446aSBoris Brezillon	help
91*93db446aSBoris Brezillon	  This config enables the ELM hardware engine, which can be used to
92*93db446aSBoris Brezillon	  locate and correct errors when using BCH ECC scheme. This offloads
93*93db446aSBoris Brezillon	  the cpu from doing ECC error searching and correction. However some
94*93db446aSBoris Brezillon	  legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine
95*93db446aSBoris Brezillon	  so this is optional for them.
96*93db446aSBoris Brezillon
97*93db446aSBoris Brezillonconfig MTD_NAND_OMAP_BCH_BUILD
98*93db446aSBoris Brezillon	def_tristate MTD_NAND_OMAP2 && MTD_NAND_OMAP_BCH
99*93db446aSBoris Brezillon
100*93db446aSBoris Brezillonconfig MTD_NAND_RICOH
101*93db446aSBoris Brezillon	tristate "Ricoh xD card reader"
102*93db446aSBoris Brezillon	default n
103*93db446aSBoris Brezillon	depends on PCI
104*93db446aSBoris Brezillon	select MTD_SM_COMMON
105*93db446aSBoris Brezillon	help
106*93db446aSBoris Brezillon	  Enable support for Ricoh R5C852 xD card reader
107*93db446aSBoris Brezillon	  You also need to enable ether
108*93db446aSBoris Brezillon	  NAND SSFDC (SmartMedia) read only translation layer' or new
109*93db446aSBoris Brezillon	  expermental, readwrite
110*93db446aSBoris Brezillon	  'SmartMedia/xD new translation layer'
111*93db446aSBoris Brezillon
112*93db446aSBoris Brezillonconfig MTD_NAND_AU1550
113*93db446aSBoris Brezillon	tristate "Au1550/1200 NAND support"
114*93db446aSBoris Brezillon	depends on MIPS_ALCHEMY
115*93db446aSBoris Brezillon	help
116*93db446aSBoris Brezillon	  This enables the driver for the NAND flash controller on the
117*93db446aSBoris Brezillon	  AMD/Alchemy 1550 SOC.
118*93db446aSBoris Brezillon
119*93db446aSBoris Brezillonconfig MTD_NAND_BF5XX
120*93db446aSBoris Brezillon	tristate "Blackfin on-chip NAND Flash Controller driver"
121*93db446aSBoris Brezillon	depends on BF54x || BF52x
122*93db446aSBoris Brezillon	help
123*93db446aSBoris Brezillon	  This enables the Blackfin on-chip NAND flash controller
124*93db446aSBoris Brezillon
125*93db446aSBoris Brezillon	  No board specific support is done by this driver, each board
126*93db446aSBoris Brezillon	  must advertise a platform_device for the driver to attach.
127*93db446aSBoris Brezillon
128*93db446aSBoris Brezillon	  This driver can also be built as a module. If so, the module
129*93db446aSBoris Brezillon	  will be called bf5xx-nand.
130*93db446aSBoris Brezillon
131*93db446aSBoris Brezillonconfig MTD_NAND_BF5XX_HWECC
132*93db446aSBoris Brezillon	bool "BF5XX NAND Hardware ECC"
133*93db446aSBoris Brezillon	default y
134*93db446aSBoris Brezillon	depends on MTD_NAND_BF5XX
135*93db446aSBoris Brezillon	help
136*93db446aSBoris Brezillon	  Enable the use of the BF5XX's internal ECC generator when
137*93db446aSBoris Brezillon	  using NAND.
138*93db446aSBoris Brezillon
139*93db446aSBoris Brezillonconfig MTD_NAND_BF5XX_BOOTROM_ECC
140*93db446aSBoris Brezillon	bool "Use Blackfin BootROM ECC Layout"
141*93db446aSBoris Brezillon	default n
142*93db446aSBoris Brezillon	depends on MTD_NAND_BF5XX_HWECC
143*93db446aSBoris Brezillon	help
144*93db446aSBoris Brezillon	  If you wish to modify NAND pages and allow the Blackfin on-chip
145*93db446aSBoris Brezillon	  BootROM to boot from them, say Y here.  This is only necessary
146*93db446aSBoris Brezillon	  if you are booting U-Boot out of NAND and you wish to update
147*93db446aSBoris Brezillon	  U-Boot from Linux' userspace.  Otherwise, you should say N here.
148*93db446aSBoris Brezillon
149*93db446aSBoris Brezillon	  If unsure, say N.
150*93db446aSBoris Brezillon
151*93db446aSBoris Brezillonconfig MTD_NAND_S3C2410
152*93db446aSBoris Brezillon	tristate "NAND Flash support for Samsung S3C SoCs"
153*93db446aSBoris Brezillon	depends on ARCH_S3C24XX || ARCH_S3C64XX
154*93db446aSBoris Brezillon	help
155*93db446aSBoris Brezillon	  This enables the NAND flash controller on the S3C24xx and S3C64xx
156*93db446aSBoris Brezillon	  SoCs
157*93db446aSBoris Brezillon
158*93db446aSBoris Brezillon	  No board specific support is done by this driver, each board
159*93db446aSBoris Brezillon	  must advertise a platform_device for the driver to attach.
160*93db446aSBoris Brezillon
161*93db446aSBoris Brezillonconfig MTD_NAND_S3C2410_DEBUG
162*93db446aSBoris Brezillon	bool "Samsung S3C NAND driver debug"
163*93db446aSBoris Brezillon	depends on MTD_NAND_S3C2410
164*93db446aSBoris Brezillon	help
165*93db446aSBoris Brezillon	  Enable debugging of the S3C NAND driver
166*93db446aSBoris Brezillon
167*93db446aSBoris Brezillonconfig MTD_NAND_NDFC
168*93db446aSBoris Brezillon	tristate "NDFC NanD Flash Controller"
169*93db446aSBoris Brezillon	depends on 4xx
170*93db446aSBoris Brezillon	select MTD_NAND_ECC_SMC
171*93db446aSBoris Brezillon	help
172*93db446aSBoris Brezillon	 NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
173*93db446aSBoris Brezillon
174*93db446aSBoris Brezillonconfig MTD_NAND_S3C2410_CLKSTOP
175*93db446aSBoris Brezillon	bool "Samsung S3C NAND IDLE clock stop"
176*93db446aSBoris Brezillon	depends on MTD_NAND_S3C2410
177*93db446aSBoris Brezillon	default n
178*93db446aSBoris Brezillon	help
179*93db446aSBoris Brezillon	  Stop the clock to the NAND controller when there is no chip
180*93db446aSBoris Brezillon	  selected to save power. This will mean there is a small delay
181*93db446aSBoris Brezillon	  when the is NAND chip selected or released, but will save
182*93db446aSBoris Brezillon	  approximately 5mA of power when there is nothing happening.
183*93db446aSBoris Brezillon
184*93db446aSBoris Brezillonconfig MTD_NAND_TANGO
185*93db446aSBoris Brezillon	tristate "NAND Flash support for Tango chips"
186*93db446aSBoris Brezillon	depends on ARCH_TANGO || COMPILE_TEST
187*93db446aSBoris Brezillon	depends on HAS_DMA
188*93db446aSBoris Brezillon	help
189*93db446aSBoris Brezillon	  Enables the NAND Flash controller on Tango chips.
190*93db446aSBoris Brezillon
191*93db446aSBoris Brezillonconfig MTD_NAND_DISKONCHIP
192*93db446aSBoris Brezillon	tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation)"
193*93db446aSBoris Brezillon	depends on HAS_IOMEM
194*93db446aSBoris Brezillon	select REED_SOLOMON
195*93db446aSBoris Brezillon	select REED_SOLOMON_DEC16
196*93db446aSBoris Brezillon	help
197*93db446aSBoris Brezillon	  This is a reimplementation of M-Systems DiskOnChip 2000,
198*93db446aSBoris Brezillon	  Millennium and Millennium Plus as a standard NAND device driver,
199*93db446aSBoris Brezillon	  as opposed to the earlier self-contained MTD device drivers.
200*93db446aSBoris Brezillon	  This should enable, among other things, proper JFFS2 operation on
201*93db446aSBoris Brezillon	  these devices.
202*93db446aSBoris Brezillon
203*93db446aSBoris Brezillonconfig MTD_NAND_DISKONCHIP_PROBE_ADVANCED
204*93db446aSBoris Brezillon        bool "Advanced detection options for DiskOnChip"
205*93db446aSBoris Brezillon        depends on MTD_NAND_DISKONCHIP
206*93db446aSBoris Brezillon        help
207*93db446aSBoris Brezillon          This option allows you to specify nonstandard address at which to
208*93db446aSBoris Brezillon          probe for a DiskOnChip, or to change the detection options.  You
209*93db446aSBoris Brezillon          are unlikely to need any of this unless you are using LinuxBIOS.
210*93db446aSBoris Brezillon          Say 'N'.
211*93db446aSBoris Brezillon
212*93db446aSBoris Brezillonconfig MTD_NAND_DISKONCHIP_PROBE_ADDRESS
213*93db446aSBoris Brezillon        hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED
214*93db446aSBoris Brezillon        depends on MTD_NAND_DISKONCHIP
215*93db446aSBoris Brezillon        default "0"
216*93db446aSBoris Brezillon        ---help---
217*93db446aSBoris Brezillon        By default, the probe for DiskOnChip devices will look for a
218*93db446aSBoris Brezillon        DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
219*93db446aSBoris Brezillon        This option allows you to specify a single address at which to probe
220*93db446aSBoris Brezillon        for the device, which is useful if you have other devices in that
221*93db446aSBoris Brezillon        range which get upset when they are probed.
222*93db446aSBoris Brezillon
223*93db446aSBoris Brezillon        (Note that on PowerPC, the normal probe will only check at
224*93db446aSBoris Brezillon        0xE4000000.)
225*93db446aSBoris Brezillon
226*93db446aSBoris Brezillon        Normally, you should leave this set to zero, to allow the probe at
227*93db446aSBoris Brezillon        the normal addresses.
228*93db446aSBoris Brezillon
229*93db446aSBoris Brezillonconfig MTD_NAND_DISKONCHIP_PROBE_HIGH
230*93db446aSBoris Brezillon        bool "Probe high addresses"
231*93db446aSBoris Brezillon        depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED
232*93db446aSBoris Brezillon        help
233*93db446aSBoris Brezillon          By default, the probe for DiskOnChip devices will look for a
234*93db446aSBoris Brezillon          DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
235*93db446aSBoris Brezillon          This option changes to make it probe between 0xFFFC8000 and
236*93db446aSBoris Brezillon          0xFFFEE000.  Unless you are using LinuxBIOS, this is unlikely to be
237*93db446aSBoris Brezillon          useful to you.  Say 'N'.
238*93db446aSBoris Brezillon
239*93db446aSBoris Brezillonconfig MTD_NAND_DISKONCHIP_BBTWRITE
240*93db446aSBoris Brezillon	bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
241*93db446aSBoris Brezillon	depends on MTD_NAND_DISKONCHIP
242*93db446aSBoris Brezillon	help
243*93db446aSBoris Brezillon	  On DiskOnChip devices shipped with the INFTL filesystem (Millennium
244*93db446aSBoris Brezillon	  and 2000 TSOP/Alon), Linux reserves some space at the end of the
245*93db446aSBoris Brezillon	  device for the Bad Block Table (BBT).  If you have existing INFTL
246*93db446aSBoris Brezillon	  data on your device (created by non-Linux tools such as M-Systems'
247*93db446aSBoris Brezillon	  DOS drivers), your data might overlap the area Linux wants to use for
248*93db446aSBoris Brezillon	  the BBT.  If this is a concern for you, leave this option disabled and
249*93db446aSBoris Brezillon	  Linux will not write BBT data into this area.
250*93db446aSBoris Brezillon	  The downside of leaving this option disabled is that if bad blocks
251*93db446aSBoris Brezillon	  are detected by Linux, they will not be recorded in the BBT, which
252*93db446aSBoris Brezillon	  could cause future problems.
253*93db446aSBoris Brezillon	  Once you enable this option, new filesystems (INFTL or others, created
254*93db446aSBoris Brezillon	  in Linux or other operating systems) will not use the reserved area.
255*93db446aSBoris Brezillon	  The only reason not to enable this option is to prevent damage to
256*93db446aSBoris Brezillon	  preexisting filesystems.
257*93db446aSBoris Brezillon	  Even if you leave this disabled, you can enable BBT writes at module
258*93db446aSBoris Brezillon	  load time (assuming you build diskonchip as a module) with the module
259*93db446aSBoris Brezillon	  parameter "inftl_bbt_write=1".
260*93db446aSBoris Brezillon
261*93db446aSBoris Brezillonconfig MTD_NAND_DOCG4
262*93db446aSBoris Brezillon	tristate "Support for DiskOnChip G4"
263*93db446aSBoris Brezillon	depends on HAS_IOMEM
264*93db446aSBoris Brezillon	select BCH
265*93db446aSBoris Brezillon	select BITREVERSE
266*93db446aSBoris Brezillon	help
267*93db446aSBoris Brezillon	  Support for diskonchip G4 nand flash, found in various smartphones and
268*93db446aSBoris Brezillon	  PDAs, among them the Palm Treo680, HTC Prophet and Wizard, Toshiba
269*93db446aSBoris Brezillon	  Portege G900, Asus P526, and O2 XDA Zinc.
270*93db446aSBoris Brezillon
271*93db446aSBoris Brezillon	  With this driver you will be able to use UBI and create a ubifs on the
272*93db446aSBoris Brezillon	  device, so you may wish to consider enabling UBI and UBIFS as well.
273*93db446aSBoris Brezillon
274*93db446aSBoris Brezillon	  These devices ship with the Mys/Sandisk SAFTL formatting, for which
275*93db446aSBoris Brezillon	  there is currently no mtd parser, so you may want to use command line
276*93db446aSBoris Brezillon	  partitioning to segregate write-protected blocks. On the Treo680, the
277*93db446aSBoris Brezillon	  first five erase blocks (256KiB each) are write-protected, followed
278*93db446aSBoris Brezillon	  by the block containing the saftl partition table.  This is probably
279*93db446aSBoris Brezillon	  typical.
280*93db446aSBoris Brezillon
281*93db446aSBoris Brezillonconfig MTD_NAND_SHARPSL
282*93db446aSBoris Brezillon	tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
283*93db446aSBoris Brezillon	depends on ARCH_PXA
284*93db446aSBoris Brezillon
285*93db446aSBoris Brezillonconfig MTD_NAND_CAFE
286*93db446aSBoris Brezillon	tristate "NAND support for OLPC CAFÉ chip"
287*93db446aSBoris Brezillon	depends on PCI
288*93db446aSBoris Brezillon	select REED_SOLOMON
289*93db446aSBoris Brezillon	select REED_SOLOMON_DEC16
290*93db446aSBoris Brezillon	help
291*93db446aSBoris Brezillon	  Use NAND flash attached to the CAFÉ chip designed for the OLPC
292*93db446aSBoris Brezillon	  laptop.
293*93db446aSBoris Brezillon
294*93db446aSBoris Brezillonconfig MTD_NAND_CS553X
295*93db446aSBoris Brezillon	tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
296*93db446aSBoris Brezillon	depends on X86_32
297*93db446aSBoris Brezillon	depends on !UML && HAS_IOMEM
298*93db446aSBoris Brezillon	help
299*93db446aSBoris Brezillon	  The CS553x companion chips for the AMD Geode processor
300*93db446aSBoris Brezillon	  include NAND flash controllers with built-in hardware ECC
301*93db446aSBoris Brezillon	  capabilities; enabling this option will allow you to use
302*93db446aSBoris Brezillon	  these. The driver will check the MSRs to verify that the
303*93db446aSBoris Brezillon	  controller is enabled for NAND, and currently requires that
304*93db446aSBoris Brezillon	  the controller be in MMIO mode.
305*93db446aSBoris Brezillon
306*93db446aSBoris Brezillon	  If you say "m", the module will be called cs553x_nand.
307*93db446aSBoris Brezillon
308*93db446aSBoris Brezillonconfig MTD_NAND_ATMEL
309*93db446aSBoris Brezillon	tristate "Support for NAND Flash / SmartMedia on AT91"
310*93db446aSBoris Brezillon	depends on ARCH_AT91
311*93db446aSBoris Brezillon	select MFD_ATMEL_SMC
312*93db446aSBoris Brezillon	help
313*93db446aSBoris Brezillon	  Enables support for NAND Flash / Smart Media Card interface
314*93db446aSBoris Brezillon	  on Atmel AT91 processors.
315*93db446aSBoris Brezillon
316*93db446aSBoris Brezillonconfig MTD_NAND_PXA3xx
317*93db446aSBoris Brezillon	tristate "NAND support on PXA3xx and Armada 370/XP"
318*93db446aSBoris Brezillon	depends on !MTD_NAND_MARVELL
319*93db446aSBoris Brezillon	depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU
320*93db446aSBoris Brezillon	help
321*93db446aSBoris Brezillon
322*93db446aSBoris Brezillon	  This enables the driver for the NAND flash device found on
323*93db446aSBoris Brezillon	  PXA3xx processors (NFCv1) and also on 32-bit Armada
324*93db446aSBoris Brezillon	  platforms (XP, 370, 375, 38x, 39x) and 64-bit Armada
325*93db446aSBoris Brezillon	  platforms (7K, 8K) (NFCv2).
326*93db446aSBoris Brezillon
327*93db446aSBoris Brezillonconfig MTD_NAND_MARVELL
328*93db446aSBoris Brezillon	tristate "NAND controller support on Marvell boards"
329*93db446aSBoris Brezillon	depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
330*93db446aSBoris Brezillon		   COMPILE_TEST
331*93db446aSBoris Brezillon	depends on HAS_IOMEM
332*93db446aSBoris Brezillon	help
333*93db446aSBoris Brezillon	  This enables the NAND flash controller driver for Marvell boards,
334*93db446aSBoris Brezillon	  including:
335*93db446aSBoris Brezillon	  - PXA3xx processors (NFCv1)
336*93db446aSBoris Brezillon	  - 32-bit Armada platforms (XP, 37x, 38x, 39x) (NFCv2)
337*93db446aSBoris Brezillon	  - 64-bit Aramda platforms (7k, 8k) (NFCv2)
338*93db446aSBoris Brezillon
339*93db446aSBoris Brezillonconfig MTD_NAND_SLC_LPC32XX
340*93db446aSBoris Brezillon	tristate "NXP LPC32xx SLC Controller"
341*93db446aSBoris Brezillon	depends on ARCH_LPC32XX
342*93db446aSBoris Brezillon	help
343*93db446aSBoris Brezillon	  Enables support for NXP's LPC32XX SLC (i.e. for Single Level Cell
344*93db446aSBoris Brezillon	  chips) NAND controller. This is the default for the PHYTEC 3250
345*93db446aSBoris Brezillon	  reference board which contains a NAND256R3A2CZA6 chip.
346*93db446aSBoris Brezillon
347*93db446aSBoris Brezillon	  Please check the actual NAND chip connected and its support
348*93db446aSBoris Brezillon	  by the SLC NAND controller.
349*93db446aSBoris Brezillon
350*93db446aSBoris Brezillonconfig MTD_NAND_MLC_LPC32XX
351*93db446aSBoris Brezillon	tristate "NXP LPC32xx MLC Controller"
352*93db446aSBoris Brezillon	depends on ARCH_LPC32XX
353*93db446aSBoris Brezillon	help
354*93db446aSBoris Brezillon	  Uses the LPC32XX MLC (i.e. for Multi Level Cell chips) NAND
355*93db446aSBoris Brezillon	  controller. This is the default for the WORK92105 controller
356*93db446aSBoris Brezillon	  board.
357*93db446aSBoris Brezillon
358*93db446aSBoris Brezillon	  Please check the actual NAND chip connected and its support
359*93db446aSBoris Brezillon	  by the MLC NAND controller.
360*93db446aSBoris Brezillon
361*93db446aSBoris Brezillonconfig MTD_NAND_CM_X270
362*93db446aSBoris Brezillon	tristate "Support for NAND Flash on CM-X270 modules"
363*93db446aSBoris Brezillon	depends on MACH_ARMCORE
364*93db446aSBoris Brezillon
365*93db446aSBoris Brezillonconfig MTD_NAND_PASEMI
366*93db446aSBoris Brezillon	tristate "NAND support for PA Semi PWRficient"
367*93db446aSBoris Brezillon	depends on PPC_PASEMI
368*93db446aSBoris Brezillon	help
369*93db446aSBoris Brezillon	  Enables support for NAND Flash interface on PA Semi PWRficient
370*93db446aSBoris Brezillon	  based boards
371*93db446aSBoris Brezillon
372*93db446aSBoris Brezillonconfig MTD_NAND_TMIO
373*93db446aSBoris Brezillon	tristate "NAND Flash device on Toshiba Mobile IO Controller"
374*93db446aSBoris Brezillon	depends on MFD_TMIO
375*93db446aSBoris Brezillon	help
376*93db446aSBoris Brezillon	  Support for NAND flash connected to a Toshiba Mobile IO
377*93db446aSBoris Brezillon	  Controller in some PDAs, including the Sharp SL6000x.
378*93db446aSBoris Brezillon
379*93db446aSBoris Brezillonconfig MTD_NAND_NANDSIM
380*93db446aSBoris Brezillon	tristate "Support for NAND Flash Simulator"
381*93db446aSBoris Brezillon	help
382*93db446aSBoris Brezillon	  The simulator may simulate various NAND flash chips for the
383*93db446aSBoris Brezillon	  MTD nand layer.
384*93db446aSBoris Brezillon
385*93db446aSBoris Brezillonconfig MTD_NAND_GPMI_NAND
386*93db446aSBoris Brezillon        tristate "GPMI NAND Flash Controller driver"
387*93db446aSBoris Brezillon        depends on MTD_NAND && MXS_DMA
388*93db446aSBoris Brezillon        help
389*93db446aSBoris Brezillon	 Enables NAND Flash support for IMX23, IMX28 or IMX6.
390*93db446aSBoris Brezillon	 The GPMI controller is very powerful, with the help of BCH
391*93db446aSBoris Brezillon	 module, it can do the hardware ECC. The GPMI supports several
392*93db446aSBoris Brezillon	 NAND flashs at the same time.
393*93db446aSBoris Brezillon
394*93db446aSBoris Brezillonconfig MTD_NAND_BRCMNAND
395*93db446aSBoris Brezillon	tristate "Broadcom STB NAND controller"
396*93db446aSBoris Brezillon	depends on ARM || ARM64 || MIPS
397*93db446aSBoris Brezillon	help
398*93db446aSBoris Brezillon	  Enables the Broadcom NAND controller driver. The controller was
399*93db446aSBoris Brezillon	  originally designed for Set-Top Box but is used on various BCM7xxx,
400*93db446aSBoris Brezillon	  BCM3xxx, BCM63xxx, iProc/Cygnus and more.
401*93db446aSBoris Brezillon
402*93db446aSBoris Brezillonconfig MTD_NAND_BCM47XXNFLASH
403*93db446aSBoris Brezillon	tristate "Support for NAND flash on BCM4706 BCMA bus"
404*93db446aSBoris Brezillon	depends on BCMA_NFLASH
405*93db446aSBoris Brezillon	help
406*93db446aSBoris Brezillon	  BCMA bus can have various flash memories attached, they are
407*93db446aSBoris Brezillon	  registered by bcma as platform devices. This enables driver for
408*93db446aSBoris Brezillon	  NAND flash memories. For now only BCM4706 is supported.
409*93db446aSBoris Brezillon
410*93db446aSBoris Brezillonconfig MTD_NAND_PLATFORM
411*93db446aSBoris Brezillon	tristate "Support for generic platform NAND driver"
412*93db446aSBoris Brezillon	depends on HAS_IOMEM
413*93db446aSBoris Brezillon	help
414*93db446aSBoris Brezillon	  This implements a generic NAND driver for on-SOC platform
415*93db446aSBoris Brezillon	  devices. You will need to provide platform-specific functions
416*93db446aSBoris Brezillon	  via platform_data.
417*93db446aSBoris Brezillon
418*93db446aSBoris Brezillonconfig MTD_NAND_ORION
419*93db446aSBoris Brezillon	tristate "NAND Flash support for Marvell Orion SoC"
420*93db446aSBoris Brezillon	depends on PLAT_ORION
421*93db446aSBoris Brezillon	help
422*93db446aSBoris Brezillon	  This enables the NAND flash controller on Orion machines.
423*93db446aSBoris Brezillon
424*93db446aSBoris Brezillon	  No board specific support is done by this driver, each board
425*93db446aSBoris Brezillon	  must advertise a platform_device for the driver to attach.
426*93db446aSBoris Brezillon
427*93db446aSBoris Brezillonconfig MTD_NAND_OXNAS
428*93db446aSBoris Brezillon	tristate "NAND Flash support for Oxford Semiconductor SoC"
429*93db446aSBoris Brezillon	depends on ARCH_OXNAS || COMPILE_TEST
430*93db446aSBoris Brezillon	depends on HAS_IOMEM
431*93db446aSBoris Brezillon	help
432*93db446aSBoris Brezillon	  This enables the NAND flash controller on Oxford Semiconductor SoCs.
433*93db446aSBoris Brezillon
434*93db446aSBoris Brezillonconfig MTD_NAND_FSL_ELBC
435*93db446aSBoris Brezillon	tristate "NAND support for Freescale eLBC controllers"
436*93db446aSBoris Brezillon	depends on FSL_SOC
437*93db446aSBoris Brezillon	select FSL_LBC
438*93db446aSBoris Brezillon	help
439*93db446aSBoris Brezillon	  Various Freescale chips, including the 8313, include a NAND Flash
440*93db446aSBoris Brezillon	  Controller Module with built-in hardware ECC capabilities.
441*93db446aSBoris Brezillon	  Enabling this option will enable you to use this to control
442*93db446aSBoris Brezillon	  external NAND devices.
443*93db446aSBoris Brezillon
444*93db446aSBoris Brezillonconfig MTD_NAND_FSL_IFC
445*93db446aSBoris Brezillon	tristate "NAND support for Freescale IFC controller"
446*93db446aSBoris Brezillon	depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A
447*93db446aSBoris Brezillon	select FSL_IFC
448*93db446aSBoris Brezillon	select MEMORY
449*93db446aSBoris Brezillon	help
450*93db446aSBoris Brezillon	  Various Freescale chips e.g P1010, include a NAND Flash machine
451*93db446aSBoris Brezillon	  with built-in hardware ECC capabilities.
452*93db446aSBoris Brezillon	  Enabling this option will enable you to use this to control
453*93db446aSBoris Brezillon	  external NAND devices.
454*93db446aSBoris Brezillon
455*93db446aSBoris Brezillonconfig MTD_NAND_FSL_UPM
456*93db446aSBoris Brezillon	tristate "Support for NAND on Freescale UPM"
457*93db446aSBoris Brezillon	depends on PPC_83xx || PPC_85xx
458*93db446aSBoris Brezillon	select FSL_LBC
459*93db446aSBoris Brezillon	help
460*93db446aSBoris Brezillon	  Enables support for NAND Flash chips wired onto Freescale PowerPC
461*93db446aSBoris Brezillon	  processor localbus with User-Programmable Machine support.
462*93db446aSBoris Brezillon
463*93db446aSBoris Brezillonconfig MTD_NAND_MPC5121_NFC
464*93db446aSBoris Brezillon	tristate "MPC5121 built-in NAND Flash Controller support"
465*93db446aSBoris Brezillon	depends on PPC_MPC512x
466*93db446aSBoris Brezillon	help
467*93db446aSBoris Brezillon	  This enables the driver for the NAND flash controller on the
468*93db446aSBoris Brezillon	  MPC5121 SoC.
469*93db446aSBoris Brezillon
470*93db446aSBoris Brezillonconfig MTD_NAND_VF610_NFC
471*93db446aSBoris Brezillon	tristate "Support for Freescale NFC for VF610/MPC5125"
472*93db446aSBoris Brezillon	depends on (SOC_VF610 || COMPILE_TEST)
473*93db446aSBoris Brezillon	depends on HAS_IOMEM
474*93db446aSBoris Brezillon	help
475*93db446aSBoris Brezillon	  Enables support for NAND Flash Controller on some Freescale
476*93db446aSBoris Brezillon	  processors like the VF610, MPC5125, MCF54418 or Kinetis K70.
477*93db446aSBoris Brezillon	  The driver supports a maximum 2k page size. With 2k pages and
478*93db446aSBoris Brezillon	  64 bytes or more of OOB, hardware ECC with up to 32-bit error
479*93db446aSBoris Brezillon	  correction is supported. Hardware ECC is only enabled through
480*93db446aSBoris Brezillon	  device tree.
481*93db446aSBoris Brezillon
482*93db446aSBoris Brezillonconfig MTD_NAND_MXC
483*93db446aSBoris Brezillon	tristate "MXC NAND support"
484*93db446aSBoris Brezillon	depends on ARCH_MXC
485*93db446aSBoris Brezillon	help
486*93db446aSBoris Brezillon	  This enables the driver for the NAND flash controller on the
487*93db446aSBoris Brezillon	  MXC processors.
488*93db446aSBoris Brezillon
489*93db446aSBoris Brezillonconfig MTD_NAND_SH_FLCTL
490*93db446aSBoris Brezillon	tristate "Support for NAND on Renesas SuperH FLCTL"
491*93db446aSBoris Brezillon	depends on SUPERH || COMPILE_TEST
492*93db446aSBoris Brezillon	depends on HAS_IOMEM
493*93db446aSBoris Brezillon	depends on HAS_DMA
494*93db446aSBoris Brezillon	help
495*93db446aSBoris Brezillon	  Several Renesas SuperH CPU has FLCTL. This option enables support
496*93db446aSBoris Brezillon	  for NAND Flash using FLCTL.
497*93db446aSBoris Brezillon
498*93db446aSBoris Brezillonconfig MTD_NAND_DAVINCI
499*93db446aSBoris Brezillon        tristate "Support NAND on DaVinci/Keystone SoC"
500*93db446aSBoris Brezillon        depends on ARCH_DAVINCI || (ARCH_KEYSTONE && TI_AEMIF)
501*93db446aSBoris Brezillon        help
502*93db446aSBoris Brezillon	  Enable the driver for NAND flash chips on Texas Instruments
503*93db446aSBoris Brezillon	  DaVinci/Keystone processors.
504*93db446aSBoris Brezillon
505*93db446aSBoris Brezillonconfig MTD_NAND_TXX9NDFMC
506*93db446aSBoris Brezillon	tristate "NAND Flash support for TXx9 SoC"
507*93db446aSBoris Brezillon	depends on SOC_TX4938 || SOC_TX4939
508*93db446aSBoris Brezillon	help
509*93db446aSBoris Brezillon	  This enables the NAND flash controller on the TXx9 SoCs.
510*93db446aSBoris Brezillon
511*93db446aSBoris Brezillonconfig MTD_NAND_SOCRATES
512*93db446aSBoris Brezillon	tristate "Support for NAND on Socrates board"
513*93db446aSBoris Brezillon	depends on SOCRATES
514*93db446aSBoris Brezillon	help
515*93db446aSBoris Brezillon	  Enables support for NAND Flash chips wired onto Socrates board.
516*93db446aSBoris Brezillon
517*93db446aSBoris Brezillonconfig MTD_NAND_NUC900
518*93db446aSBoris Brezillon	tristate "Support for NAND on Nuvoton NUC9xx/w90p910 evaluation boards."
519*93db446aSBoris Brezillon	depends on ARCH_W90X900
520*93db446aSBoris Brezillon	help
521*93db446aSBoris Brezillon	  This enables the driver for the NAND Flash on evaluation board based
522*93db446aSBoris Brezillon	  on w90p910 / NUC9xx.
523*93db446aSBoris Brezillon
524*93db446aSBoris Brezillonconfig MTD_NAND_JZ4740
525*93db446aSBoris Brezillon	tristate "Support for JZ4740 SoC NAND controller"
526*93db446aSBoris Brezillon	depends on MACH_JZ4740
527*93db446aSBoris Brezillon	help
528*93db446aSBoris Brezillon		Enables support for NAND Flash on JZ4740 SoC based boards.
529*93db446aSBoris Brezillon
530*93db446aSBoris Brezillonconfig MTD_NAND_JZ4780
531*93db446aSBoris Brezillon	tristate "Support for NAND on JZ4780 SoC"
532*93db446aSBoris Brezillon	depends on MACH_JZ4780 && JZ4780_NEMC
533*93db446aSBoris Brezillon	help
534*93db446aSBoris Brezillon	  Enables support for NAND Flash connected to the NEMC on JZ4780 SoC
535*93db446aSBoris Brezillon	  based boards, using the BCH controller for hardware error correction.
536*93db446aSBoris Brezillon
537*93db446aSBoris Brezillonconfig MTD_NAND_FSMC
538*93db446aSBoris Brezillon	tristate "Support for NAND on ST Micros FSMC"
539*93db446aSBoris Brezillon	depends on OF
540*93db446aSBoris Brezillon	depends on PLAT_SPEAR || ARCH_NOMADIK || ARCH_U8500 || MACH_U300
541*93db446aSBoris Brezillon	help
542*93db446aSBoris Brezillon	  Enables support for NAND Flash chips on the ST Microelectronics
543*93db446aSBoris Brezillon	  Flexible Static Memory Controller (FSMC)
544*93db446aSBoris Brezillon
545*93db446aSBoris Brezillonconfig MTD_NAND_XWAY
546*93db446aSBoris Brezillon	bool "Support for NAND on Lantiq XWAY SoC"
547*93db446aSBoris Brezillon	depends on LANTIQ && SOC_TYPE_XWAY
548*93db446aSBoris Brezillon	help
549*93db446aSBoris Brezillon	  Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached
550*93db446aSBoris Brezillon	  to the External Bus Unit (EBU).
551*93db446aSBoris Brezillon
552*93db446aSBoris Brezillonconfig MTD_NAND_SUNXI
553*93db446aSBoris Brezillon	tristate "Support for NAND on Allwinner SoCs"
554*93db446aSBoris Brezillon	depends on ARCH_SUNXI
555*93db446aSBoris Brezillon	help
556*93db446aSBoris Brezillon	  Enables support for NAND Flash chips on Allwinner SoCs.
557*93db446aSBoris Brezillon
558*93db446aSBoris Brezillonconfig MTD_NAND_HISI504
559*93db446aSBoris Brezillon	tristate "Support for NAND controller on Hisilicon SoC Hip04"
560*93db446aSBoris Brezillon	depends on ARCH_HISI || COMPILE_TEST
561*93db446aSBoris Brezillon	depends on HAS_DMA
562*93db446aSBoris Brezillon	help
563*93db446aSBoris Brezillon	  Enables support for NAND controller on Hisilicon SoC Hip04.
564*93db446aSBoris Brezillon
565*93db446aSBoris Brezillonconfig MTD_NAND_QCOM
566*93db446aSBoris Brezillon	tristate "Support for NAND on QCOM SoCs"
567*93db446aSBoris Brezillon	depends on ARCH_QCOM
568*93db446aSBoris Brezillon	help
569*93db446aSBoris Brezillon	  Enables support for NAND flash chips on SoCs containing the EBI2 NAND
570*93db446aSBoris Brezillon	  controller. This controller is found on IPQ806x SoC.
571*93db446aSBoris Brezillon
572*93db446aSBoris Brezillonconfig MTD_NAND_MTK
573*93db446aSBoris Brezillon	tristate "Support for NAND controller on MTK SoCs"
574*93db446aSBoris Brezillon	depends on ARCH_MEDIATEK || COMPILE_TEST
575*93db446aSBoris Brezillon	depends on HAS_DMA
576*93db446aSBoris Brezillon	help
577*93db446aSBoris Brezillon	  Enables support for NAND controller on MTK SoCs.
578*93db446aSBoris Brezillon	  This controller is found on mt27xx, mt81xx, mt65xx SoCs.
579*93db446aSBoris Brezillon
580*93db446aSBoris Brezillonendif # MTD_NAND
581