move drivers/nand to drivers/mtd/nand
[barebox-mini2440.git] / drivers / mtd / nand / Kconfig
blobe0d9d0d3b60bf6ed85733454268a50980c19f56b
1 menuconfig NAND
2         bool "NAND support              "
3         select MTD_NAND_IDS
4         help
5           This enables support for accessing all type of NAND flash
6           devices. For further information see
7           <http://www.linux-mtd.infradead.org/doc/nand.html>.
9 if NAND
11 config NAND_IMX
12         bool
13         prompt "i.MX NAND driver"
14         depends on ARCH_IMX21 || ARCH_IMX27 || ARCH_IMX31 || ARCH_IMX35 || ARCH_IMX25
16 config NAND_IMX_BOOT
17         bool
18         prompt "Support Starting barebox from NAND"
19         depends on NAND_IMX || NAND_IMX_V2
21 config NAND_OMAP_GPMC
22         tristate "NAND Flash Support for GPMC based OMAP platforms"
23         depends on ((ARCH_OMAP2 || ARCH_OMAP3) && GPMC)
24         help
25          Support for NAND flash using GPMC. GPMC is a common memory
26          interface found on Texas Instrument's OMAP platforms
28 config NAND_OMAP_GPMC_HWECC
29         bool "The Hardware ECC support"
30         depends on NAND && NAND_OMAP_GPMC
31         default n
32         help
33          The ECC compuatation for the data to be written/read can be either by
34          software or omap has Hw ecc engine which calculates it.
36 config NAND_ATMEL
37         bool
38         prompt "Atmel (AT91SAM9xxx) NAND driver"
39         depends on ARCH_AT91
41 config NAND_S3C24X0
42         bool
43         prompt "Samsung S3C24X0 NAND driver"
44         depends on ARCH_S3C24xx
45         help
46           Add support for processor's NAND device controller.
48 config MTD_NAND_VERIFY_WRITE
49         bool "Verify NAND page writes"
50         help
51           This adds an extra check when data is written to the flash. The
52           NAND flash device internally checks only bits transitioning
53           from 1 to 0. There is a rare possibility that even though the
54           device thinks the write was successful, a bit could have been
55           flipped accidentally due to device wear or something else.
57 config MTD_NAND_ECC_SMC
58         bool "NAND ECC Smart Media byte order"
59         default n
60         help
61           Software ECC according to the Smart Media Specification.
62           The original Linux implementation had byte 0 and 1 swapped.
64 config MTD_NAND_MUSEUM_IDS
65         bool "Enable chip ids for obsolete ancient NAND devices"
66         depends on MTD_NAND
67         default n
68         help
69           Enable this option only when your board has first generation
70           NAND chips (page size 256 byte, erase size 4-8KiB). The IDs
71           of these chips were reused by later, larger chips.
73 config MTD_NAND_IDS
74         tristate
76 config MTD_NAND_DISKONCHIP
77         tristate "DiskOnChip 2000, Millennium and Millennium Plus"
78         depends on EXPERIMENTAL && BROKEN
79         help
80           This is a reimplementation of M-Systems DiskOnChip 2000,
81           Millennium and Millennium Plus as a standard NAND device driver,
82           as opposed to the earlier self-contained MTD device drivers.
83           This should enable, among other things, proper JFFS2 operation on
84           these devices.
86 config MTD_NAND_DISKONCHIP_BBTWRITE
87         bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
88         depends on MTD_NAND_DISKONCHIP
89         help
90           On DiskOnChip devices shipped with the INFTL filesystem (Millennium
91           and 2000 TSOP/Alon), Linux reserves some space at the end of the
92           device for the Bad Block Table (BBT).  If you have existing INFTL
93           data on your device (created by non-Linux tools such as M-Systems'
94           DOS drivers), your data might overlap the area Linux wants to use for
95           the BBT.  If this is a concern for you, leave this option disabled and
96           Linux will not write BBT data into this area.
97           The downside of leaving this option disabled is that if bad blocks
98           are detected by Linux, they will not be recorded in the BBT, which
99           could cause future problems.
100           Once you enable this option, new filesystems (INFTL or others, created
101           in Linux or other operating systems) will not use the reserved area.
102           The only reason not to enable this option is to prevent damage to
103           preexisting filesystems.
104           Even if you leave this disabled, you can enable BBT writes at module
105           load time (assuming you build diskonchip as a module) with the module
106           parameter "inftl_bbt_write=1".
109 endif