xref: /openbmc/linux/drivers/mtd/devices/Kconfig (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds# drivers/mtd/maps/Kconfig
2*1da177e4SLinus Torvalds# $Id: Kconfig,v 1.15 2004/12/22 17:51:15 joern Exp $
3*1da177e4SLinus Torvalds
4*1da177e4SLinus Torvaldsmenu "Self-contained MTD device drivers"
5*1da177e4SLinus Torvalds	depends on MTD!=n
6*1da177e4SLinus Torvalds
7*1da177e4SLinus Torvaldsconfig MTD_PMC551
8*1da177e4SLinus Torvalds	tristate "Ramix PMC551 PCI Mezzanine RAM card support"
9*1da177e4SLinus Torvalds	depends on MTD && PCI
10*1da177e4SLinus Torvalds	---help---
11*1da177e4SLinus Torvalds	  This provides a MTD device driver for the Ramix PMC551 RAM PCI card
12*1da177e4SLinus Torvalds	  from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>.
13*1da177e4SLinus Torvalds	  These devices come in memory configurations from 32M - 1G.  If you
14*1da177e4SLinus Torvalds	  have one, you probably want to enable this.
15*1da177e4SLinus Torvalds
16*1da177e4SLinus Torvalds	  If this driver is compiled as a module you get the ability to select
17*1da177e4SLinus Torvalds	  the size of the aperture window pointing into the devices memory.
18*1da177e4SLinus Torvalds	  What this means is that if you have a 1G card, normally the kernel
19*1da177e4SLinus Torvalds	  will use a 1G memory map as its view of the device.  As a module,
20*1da177e4SLinus Torvalds	  you can select a 1M window into the memory and the driver will
21*1da177e4SLinus Torvalds	  "slide" the window around the PMC551's memory.  This was
22*1da177e4SLinus Torvalds	  particularly useful on the 2.2 kernels on PPC architectures as there
23*1da177e4SLinus Torvalds	  was limited kernel space to deal with.
24*1da177e4SLinus Torvalds
25*1da177e4SLinus Torvaldsconfig MTD_PMC551_BUGFIX
26*1da177e4SLinus Torvalds	bool "PMC551 256M DRAM Bugfix"
27*1da177e4SLinus Torvalds	depends on MTD_PMC551
28*1da177e4SLinus Torvalds	help
29*1da177e4SLinus Torvalds	  Some of Ramix's PMC551 boards with 256M configurations have invalid
30*1da177e4SLinus Torvalds	  column and row mux values.  This option will fix them, but will
31*1da177e4SLinus Torvalds	  break other memory configurations.  If unsure say N.
32*1da177e4SLinus Torvalds
33*1da177e4SLinus Torvaldsconfig MTD_PMC551_DEBUG
34*1da177e4SLinus Torvalds	bool "PMC551 Debugging"
35*1da177e4SLinus Torvalds	depends on MTD_PMC551
36*1da177e4SLinus Torvalds	help
37*1da177e4SLinus Torvalds	  This option makes the PMC551 more verbose during its operation and
38*1da177e4SLinus Torvalds	  is only really useful if you are developing on this driver or
39*1da177e4SLinus Torvalds	  suspect a possible hardware or driver bug.  If unsure say N.
40*1da177e4SLinus Torvalds
41*1da177e4SLinus Torvaldsconfig MTD_MS02NV
42*1da177e4SLinus Torvalds	tristate "DEC MS02-NV NVRAM module support"
43*1da177e4SLinus Torvalds	depends on MTD && MACH_DECSTATION
44*1da177e4SLinus Torvalds	help
45*1da177e4SLinus Torvalds	  This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery
46*1da177e4SLinus Torvalds	  backed-up NVRAM module.  The module was originally meant as an NFS
47*1da177e4SLinus Torvalds	  accelerator.  Say Y here if you have a DECstation 5000/2x0 or a
48*1da177e4SLinus Torvalds	  DECsystem 5900 equipped with such a module.
49*1da177e4SLinus Torvalds
50*1da177e4SLinus Torvaldsconfig MTD_SLRAM
51*1da177e4SLinus Torvalds	tristate "Uncached system RAM"
52*1da177e4SLinus Torvalds	depends on MTD
53*1da177e4SLinus Torvalds	help
54*1da177e4SLinus Torvalds	  If your CPU cannot cache all of the physical memory in your machine,
55*1da177e4SLinus Torvalds	  you can still use it for storage or swap by using this driver to
56*1da177e4SLinus Torvalds	  present it to the system as a Memory Technology Device.
57*1da177e4SLinus Torvalds
58*1da177e4SLinus Torvaldsconfig MTD_PHRAM
59*1da177e4SLinus Torvalds	tristate "Physical system RAM"
60*1da177e4SLinus Torvalds	depends on MTD
61*1da177e4SLinus Torvalds	help
62*1da177e4SLinus Torvalds	  This is a re-implementation of the slram driver above.
63*1da177e4SLinus Torvalds
64*1da177e4SLinus Torvalds	  Use this driver to access physical memory that the kernel proper
65*1da177e4SLinus Torvalds	  doesn't have access to, memory beyond the mem=xxx limit, nvram,
66*1da177e4SLinus Torvalds	  memory on the video card, etc...
67*1da177e4SLinus Torvalds
68*1da177e4SLinus Torvaldsconfig MTD_LART
69*1da177e4SLinus Torvalds	tristate "28F160xx flash driver for LART"
70*1da177e4SLinus Torvalds	depends on SA1100_LART && MTD
71*1da177e4SLinus Torvalds	help
72*1da177e4SLinus Torvalds	  This enables the flash driver for LART. Please note that you do
73*1da177e4SLinus Torvalds	  not need any mapping/chip driver for LART. This one does it all
74*1da177e4SLinus Torvalds	  for you, so go disable all of those if you enabled some of them (:
75*1da177e4SLinus Torvalds
76*1da177e4SLinus Torvaldsconfig MTD_MTDRAM
77*1da177e4SLinus Torvalds	tristate "Test driver using RAM"
78*1da177e4SLinus Torvalds	depends on MTD
79*1da177e4SLinus Torvalds	help
80*1da177e4SLinus Torvalds	  This enables a test MTD device driver which uses vmalloc() to
81*1da177e4SLinus Torvalds	  provide storage.  You probably want to say 'N' unless you're
82*1da177e4SLinus Torvalds	  testing stuff.
83*1da177e4SLinus Torvalds
84*1da177e4SLinus Torvaldsconfig MTDRAM_TOTAL_SIZE
85*1da177e4SLinus Torvalds	int "MTDRAM device size in KiB"
86*1da177e4SLinus Torvalds	depends on MTD_MTDRAM
87*1da177e4SLinus Torvalds	default "4096"
88*1da177e4SLinus Torvalds	help
89*1da177e4SLinus Torvalds	  This allows you to configure the total size of the MTD device
90*1da177e4SLinus Torvalds	  emulated by the MTDRAM driver.  If the MTDRAM driver is built
91*1da177e4SLinus Torvalds	  as a module, it is also possible to specify this as a parameter when
92*1da177e4SLinus Torvalds	  loading the module.
93*1da177e4SLinus Torvalds
94*1da177e4SLinus Torvaldsconfig MTDRAM_ERASE_SIZE
95*1da177e4SLinus Torvalds	int "MTDRAM erase block size in KiB"
96*1da177e4SLinus Torvalds	depends on MTD_MTDRAM
97*1da177e4SLinus Torvalds	default "128"
98*1da177e4SLinus Torvalds	help
99*1da177e4SLinus Torvalds	  This allows you to configure the size of the erase blocks in the
100*1da177e4SLinus Torvalds	  device emulated by the MTDRAM driver.  If the MTDRAM driver is built
101*1da177e4SLinus Torvalds	  as a module, it is also possible to specify this as a parameter when
102*1da177e4SLinus Torvalds	  loading the module.
103*1da177e4SLinus Torvalds
104*1da177e4SLinus Torvalds#If not a module (I don't want to test it as a module)
105*1da177e4SLinus Torvaldsconfig MTDRAM_ABS_POS
106*1da177e4SLinus Torvalds	hex "SRAM Hexadecimal Absolute position or 0"
107*1da177e4SLinus Torvalds	depends on MTD_MTDRAM=y
108*1da177e4SLinus Torvalds	default "0"
109*1da177e4SLinus Torvalds	help
110*1da177e4SLinus Torvalds	  If you have system RAM accessible by the CPU but not used by Linux
111*1da177e4SLinus Torvalds	  in normal operation, you can give the physical address at which the
112*1da177e4SLinus Torvalds	  available RAM starts, and the MTDRAM driver will use it instead of
113*1da177e4SLinus Torvalds	  allocating space from Linux's available memory. Otherwise, leave
114*1da177e4SLinus Torvalds	  this set to zero. Most people will want to leave this as zero.
115*1da177e4SLinus Torvalds
116*1da177e4SLinus Torvaldsconfig MTD_BLKMTD
117*1da177e4SLinus Torvalds	tristate "MTD emulation using block device"
118*1da177e4SLinus Torvalds	depends on MTD
119*1da177e4SLinus Torvalds	help
120*1da177e4SLinus Torvalds	  This driver allows a block device to appear as an MTD. It would
121*1da177e4SLinus Torvalds	  generally be used in the following cases:
122*1da177e4SLinus Torvalds
123*1da177e4SLinus Torvalds	  Using Compact Flash as an MTD, these usually present themselves to
124*1da177e4SLinus Torvalds	  the system as an ATA drive.
125*1da177e4SLinus Torvalds	  Testing MTD users (eg JFFS2) on large media and media that might
126*1da177e4SLinus Torvalds	  be removed during a write (using the floppy drive).
127*1da177e4SLinus Torvalds
128*1da177e4SLinus Torvaldsconfig MTD_BLOCK2MTD
129*1da177e4SLinus Torvalds	tristate "MTD using block device (rewrite)"
130*1da177e4SLinus Torvalds	depends on MTD && EXPERIMENTAL
131*1da177e4SLinus Torvalds	help
132*1da177e4SLinus Torvalds	  This driver is basically the same at MTD_BLKMTD above, but
133*1da177e4SLinus Torvalds	  experienced some interface changes plus serious speedups.  In
134*1da177e4SLinus Torvalds	  the long term, it should replace MTD_BLKMTD.  Right now, you
135*1da177e4SLinus Torvalds	  shouldn't entrust important data to it yet.
136*1da177e4SLinus Torvalds
137*1da177e4SLinus Torvaldscomment "Disk-On-Chip Device Drivers"
138*1da177e4SLinus Torvalds
139*1da177e4SLinus Torvaldsconfig MTD_DOC2000
140*1da177e4SLinus Torvalds	tristate "M-Systems Disk-On-Chip 2000 and Millennium (DEPRECATED)"
141*1da177e4SLinus Torvalds	depends on MTD
142*1da177e4SLinus Torvalds	select MTD_DOCPROBE
143*1da177e4SLinus Torvalds	select MTD_NAND_IDS
144*1da177e4SLinus Torvalds	---help---
145*1da177e4SLinus Torvalds	  This provides an MTD device driver for the M-Systems DiskOnChip
146*1da177e4SLinus Torvalds	  2000 and Millennium devices.  Originally designed for the DiskOnChip
147*1da177e4SLinus Torvalds	  2000, it also now includes support for the DiskOnChip Millennium.
148*1da177e4SLinus Torvalds	  If you have problems with this driver and the DiskOnChip Millennium,
149*1da177e4SLinus Torvalds	  you may wish to try the alternative Millennium driver below. To use
150*1da177e4SLinus Torvalds	  the alternative driver, you will need to undefine DOC_SINGLE_DRIVER
151*1da177e4SLinus Torvalds	  in the <file:drivers/mtd/devices/docprobe.c> source code.
152*1da177e4SLinus Torvalds
153*1da177e4SLinus Torvalds	  If you use this device, you probably also want to enable the NFTL
154*1da177e4SLinus Torvalds	  'NAND Flash Translation Layer' option below, which is used to
155*1da177e4SLinus Torvalds	  emulate a block device by using a kind of file system on the flash
156*1da177e4SLinus Torvalds	  chips.
157*1da177e4SLinus Torvalds
158*1da177e4SLinus Torvalds	  NOTE: This driver is deprecated and will probably be removed soon.
159*1da177e4SLinus Torvalds	  Please try the new DiskOnChip driver under "NAND Flash Device
160*1da177e4SLinus Torvalds	  Drivers".
161*1da177e4SLinus Torvalds
162*1da177e4SLinus Torvaldsconfig MTD_DOC2001
163*1da177e4SLinus Torvalds	tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (DEPRECATED)"
164*1da177e4SLinus Torvalds	depends on MTD
165*1da177e4SLinus Torvalds	select MTD_DOCPROBE
166*1da177e4SLinus Torvalds	select MTD_NAND_IDS
167*1da177e4SLinus Torvalds	---help---
168*1da177e4SLinus Torvalds	  This provides an alternative MTD device driver for the M-Systems
169*1da177e4SLinus Torvalds	  DiskOnChip Millennium devices.  Use this if you have problems with
170*1da177e4SLinus Torvalds	  the combined DiskOnChip 2000 and Millennium driver above.  To get
171*1da177e4SLinus Torvalds	  the DiskOnChip probe code to load and use this driver instead of
172*1da177e4SLinus Torvalds	  the other one, you will need to undefine DOC_SINGLE_DRIVER near
173*1da177e4SLinus Torvalds	  the beginning of <file:drivers/mtd/devices/docprobe.c>.
174*1da177e4SLinus Torvalds
175*1da177e4SLinus Torvalds	  If you use this device, you probably also want to enable the NFTL
176*1da177e4SLinus Torvalds	  'NAND Flash Translation Layer' option below, which is used to
177*1da177e4SLinus Torvalds	  emulate a block device by using a kind of file system on the flash
178*1da177e4SLinus Torvalds	  chips.
179*1da177e4SLinus Torvalds
180*1da177e4SLinus Torvalds	  NOTE: This driver is deprecated and will probably be removed soon.
181*1da177e4SLinus Torvalds	  Please try the new DiskOnChip driver under "NAND Flash Device
182*1da177e4SLinus Torvalds	  Drivers".
183*1da177e4SLinus Torvalds
184*1da177e4SLinus Torvaldsconfig MTD_DOC2001PLUS
185*1da177e4SLinus Torvalds	tristate "M-Systems Disk-On-Chip Millennium Plus"
186*1da177e4SLinus Torvalds	depends on MTD
187*1da177e4SLinus Torvalds	select MTD_DOCPROBE
188*1da177e4SLinus Torvalds	select MTD_NAND_IDS
189*1da177e4SLinus Torvalds	---help---
190*1da177e4SLinus Torvalds	  This provides an MTD device driver for the M-Systems DiskOnChip
191*1da177e4SLinus Torvalds	  Millennium Plus devices.
192*1da177e4SLinus Torvalds
193*1da177e4SLinus Torvalds	  If you use this device, you probably also want to enable the INFTL
194*1da177e4SLinus Torvalds	  'Inverse NAND Flash Translation Layer' option below, which is used
195*1da177e4SLinus Torvalds	  to emulate a block device by using a kind of file system on the
196*1da177e4SLinus Torvalds	  flash chips.
197*1da177e4SLinus Torvalds
198*1da177e4SLinus Torvalds	  NOTE: This driver will soon be replaced by the new DiskOnChip driver
199*1da177e4SLinus Torvalds	  under "NAND Flash Device Drivers" (currently that driver does not
200*1da177e4SLinus Torvalds	  support all Millennium Plus devices).
201*1da177e4SLinus Torvalds
202*1da177e4SLinus Torvaldsconfig MTD_DOCPROBE
203*1da177e4SLinus Torvalds	tristate
204*1da177e4SLinus Torvalds	select MTD_DOCECC
205*1da177e4SLinus Torvalds
206*1da177e4SLinus Torvaldsconfig MTD_DOCECC
207*1da177e4SLinus Torvalds	tristate
208*1da177e4SLinus Torvalds
209*1da177e4SLinus Torvaldsconfig MTD_DOCPROBE_ADVANCED
210*1da177e4SLinus Torvalds	bool "Advanced detection options for DiskOnChip"
211*1da177e4SLinus Torvalds	depends on MTD_DOCPROBE
212*1da177e4SLinus Torvalds	help
213*1da177e4SLinus Torvalds	  This option allows you to specify nonstandard address at which to
214*1da177e4SLinus Torvalds	  probe for a DiskOnChip, or to change the detection options.  You
215*1da177e4SLinus Torvalds	  are unlikely to need any of this unless you are using LinuxBIOS.
216*1da177e4SLinus Torvalds	  Say 'N'.
217*1da177e4SLinus Torvalds
218*1da177e4SLinus Torvaldsconfig MTD_DOCPROBE_ADDRESS
219*1da177e4SLinus Torvalds	hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED
220*1da177e4SLinus Torvalds	depends on MTD_DOCPROBE
221*1da177e4SLinus Torvalds	default "0x0000" if MTD_DOCPROBE_ADVANCED
222*1da177e4SLinus Torvalds	default "0" if !MTD_DOCPROBE_ADVANCED
223*1da177e4SLinus Torvalds	---help---
224*1da177e4SLinus Torvalds	  By default, the probe for DiskOnChip devices will look for a
225*1da177e4SLinus Torvalds	  DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
226*1da177e4SLinus Torvalds	  This option allows you to specify a single address at which to probe
227*1da177e4SLinus Torvalds	  for the device, which is useful if you have other devices in that
228*1da177e4SLinus Torvalds	  range which get upset when they are probed.
229*1da177e4SLinus Torvalds
230*1da177e4SLinus Torvalds	  (Note that on PowerPC, the normal probe will only check at
231*1da177e4SLinus Torvalds	  0xE4000000.)
232*1da177e4SLinus Torvalds
233*1da177e4SLinus Torvalds	  Normally, you should leave this set to zero, to allow the probe at
234*1da177e4SLinus Torvalds	  the normal addresses.
235*1da177e4SLinus Torvalds
236*1da177e4SLinus Torvaldsconfig MTD_DOCPROBE_HIGH
237*1da177e4SLinus Torvalds	bool "Probe high addresses"
238*1da177e4SLinus Torvalds	depends on MTD_DOCPROBE_ADVANCED
239*1da177e4SLinus Torvalds	help
240*1da177e4SLinus Torvalds	  By default, the probe for DiskOnChip devices will look for a
241*1da177e4SLinus Torvalds	  DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
242*1da177e4SLinus Torvalds	  This option changes to make it probe between 0xFFFC8000 and
243*1da177e4SLinus Torvalds	  0xFFFEE000.  Unless you are using LinuxBIOS, this is unlikely to be
244*1da177e4SLinus Torvalds	  useful to you.  Say 'N'.
245*1da177e4SLinus Torvalds
246*1da177e4SLinus Torvaldsconfig MTD_DOCPROBE_55AA
247*1da177e4SLinus Torvalds	bool "Probe for 0x55 0xAA BIOS Extension Signature"
248*1da177e4SLinus Torvalds	depends on MTD_DOCPROBE_ADVANCED
249*1da177e4SLinus Torvalds	help
250*1da177e4SLinus Torvalds	  Check for the 0x55 0xAA signature of a DiskOnChip, and do not
251*1da177e4SLinus Torvalds	  continue with probing if it is absent.  The signature will always be
252*1da177e4SLinus Torvalds	  present for a DiskOnChip 2000 or a normal DiskOnChip Millennium.
253*1da177e4SLinus Torvalds	  Only if you have overwritten the first block of a DiskOnChip
254*1da177e4SLinus Torvalds	  Millennium will it be absent.  Enable this option if you are using
255*1da177e4SLinus Torvalds	  LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
256*1da177e4SLinus Torvalds	  you have managed to wipe the first block.
257*1da177e4SLinus Torvalds
258*1da177e4SLinus Torvaldsendmenu
259*1da177e4SLinus Torvalds
260