• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/mtd/
1menuconfig MTD
2	tristate "Memory Technology Device (MTD) support"
3	depends on HAS_IOMEM
4	help
5	  Memory Technology Devices are flash, RAM and similar chips, often
6	  used for solid state file systems on embedded devices. This option
7	  will provide the generic support for MTD drivers to register
8	  themselves with the kernel and for potential users of MTD devices
9	  to enumerate the devices which are present and obtain a handle on
10	  them. It will also allow you to select individual drivers for
11	  particular hardware and users of MTD devices. If unsure, say N.
12
13if MTD
14
15config MTD_DEBUG
16	bool "Debugging"
17	help
18	  This turns on low-level debugging for the entire MTD sub-system.
19	  Normally, you should say 'N'.
20
21config MTD_DEBUG_VERBOSE
22	int "Debugging verbosity (0 = quiet, 3 = noisy)"
23	depends on MTD_DEBUG
24	default "0"
25	help
26	  Determines the verbosity level of the MTD debugging messages.
27
28config MTD_TESTS
29	tristate "MTD tests support"
30	depends on m
31	help
32	  This option includes various MTD tests into compilation. The tests
33	  should normally be compiled as kernel modules. The modules perform
34	  various checks and verifications when loaded.
35
36config MTD_CONCAT
37	tristate "MTD concatenating support"
38	help
39	  Support for concatenating several MTD devices into a single
40	  (virtual) one. This allows you to have -for example- a JFFS(2)
41	  file system spanning multiple physical flash chips. If unsure,
42	  say 'Y'.
43
44config MTD_PARTITIONS
45	bool "MTD partitioning support"
46	help
47	  If you have a device which needs to divide its flash chip(s) up
48	  into multiple 'partitions', each of which appears to the user as
49	  a separate MTD device, you require this option to be enabled. If
50	  unsure, say 'Y'.
51
52	  Note, however, that you don't need this option for the DiskOnChip
53	  devices. Partitioning on NFTL 'devices' is a different - that's the
54	  'normal' form of partitioning used on a block device.
55
56config MTD_REDBOOT_PARTS
57	tristate "RedBoot partition table parsing"
58	depends on MTD_PARTITIONS
59	---help---
60	  RedBoot is a ROM monitor and bootloader which deals with multiple
61	  'images' in flash devices by putting a table one of the erase
62	  blocks on the device, similar to a partition table, which gives
63	  the offsets, lengths and names of all the images stored in the
64	  flash.
65
66	  If you need code which can detect and parse this table, and register
67	  MTD 'partitions' corresponding to each image in the table, enable
68	  this option.
69
70	  You will still need the parsing functions to be called by the driver
71	  for your particular device. It won't happen automatically. The
72	  SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
73	  example.
74
75config MTD_REDBOOT_DIRECTORY_BLOCK
76	int "Location of RedBoot partition table"
77	depends on MTD_REDBOOT_PARTS
78	default "-1"
79	---help---
80	  This option is the Linux counterpart to the
81	  CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time
82	  option.
83
84	  The option specifies which Flash sectors holds the RedBoot
85	  partition table.  A zero or positive value gives an absolute
86	  erase block number. A negative value specifies a number of
87	  sectors before the end of the device.
88
89	  For example "2" means block number 2, "-1" means the last
90	  block and "-2" means the penultimate block.
91
92config MTD_REDBOOT_PARTS_UNALLOCATED
93	bool "Include unallocated flash regions"
94	depends on MTD_REDBOOT_PARTS
95	help
96	  If you need to register each unallocated flash region as a MTD
97	  'partition', enable this option.
98
99config MTD_REDBOOT_PARTS_READONLY
100	bool "Force read-only for RedBoot system images"
101	depends on MTD_REDBOOT_PARTS
102	help
103	  If you need to force read-only for 'RedBoot', 'RedBoot Config' and
104	  'FIS directory' images, enable this option.
105
106config MTD_CMDLINE_PARTS
107	bool "Command line partition table parsing"
108	depends on MTD_PARTITIONS = "y" && MTD = "y"
109	---help---
110	  Allow generic configuration of the MTD partition tables via the kernel
111	  command line. Multiple flash resources are supported for hardware where
112	  different kinds of flash memory are available.
113
114	  You will still need the parsing functions to be called by the driver
115	  for your particular device. It won't happen automatically. The
116	  SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
117	  example.
118
119	  The format for the command line is as follows:
120
121	  mtdparts=<mtddef>[;<mtddef]
122	  <mtddef>  := <mtd-id>:<partdef>[,<partdef>]
123	  <partdef> := <size>[@offset][<name>][ro]
124	  <mtd-id>  := unique id used in mapping driver/device
125	  <size>    := standard linux memsize OR "-" to denote all
126	  remaining space
127	  <name>    := (NAME)
128
129	  Due to the way Linux handles the command line, no spaces are
130	  allowed in the partition definition, including mtd id's and partition
131	  names.
132
133	  Examples:
134
135	  1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
136	  mtdparts=sa1100:-
137
138	  Same flash, but 2 named partitions, the first one being read-only:
139	  mtdparts=sa1100:256k(ARMboot)ro,-(root)
140
141	  If unsure, say 'N'.
142
143config MTD_AFS_PARTS
144	tristate "ARM Firmware Suite partition parsing"
145	depends on ARM && MTD_PARTITIONS
146	---help---
147	  The ARM Firmware Suite allows the user to divide flash devices into
148	  multiple 'images'. Each such image has a header containing its name
149	  and offset/size etc.
150
151	  If you need code which can detect and parse these tables, and
152	  register MTD 'partitions' corresponding to each image detected,
153	  enable this option.
154
155	  You will still need the parsing functions to be called by the driver
156	  for your particular device. It won't happen automatically. The
157	  'armflash' map driver (CONFIG_MTD_ARM_INTEGRATOR) does this, for
158	  example.
159
160config MTD_OF_PARTS
161	tristate "Flash partition map based on OF description"
162	depends on (MICROBLAZE || PPC_OF) && MTD_PARTITIONS
163	help
164	  This provides a partition parsing function which derives
165	  the partition map from the children of the flash node,
166	  as described in Documentation/powerpc/booting-without-of.txt.
167
168config MTD_AR7_PARTS
169	tristate "TI AR7 partitioning support"
170	depends on MTD_PARTITIONS
171	---help---
172	  TI AR7 partitioning support
173
174comment "User Modules And Translation Layers"
175
176config MTD_CHAR
177	tristate "Direct char device access to MTD devices"
178	help
179	  This provides a character device for each MTD device present in
180	  the system, allowing the user to read and write directly to the
181	  memory chips, and also use ioctl() to obtain information about
182	  the device, or to erase parts of it.
183
184config HAVE_MTD_OTP
185	bool
186	help
187	  Enable access to OTP regions using MTD_CHAR.
188
189config MTD_BLKDEVS
190	tristate "Common interface to block layer for MTD 'translation layers'"
191	depends on BLOCK
192	default n
193
194config MTD_BLOCK
195	tristate "Caching block device access to MTD devices"
196	depends on BLOCK
197	select MTD_BLKDEVS
198	---help---
199	  Although most flash chips have an erase size too large to be useful
200	  as block devices, it is possible to use MTD devices which are based
201	  on RAM chips in this manner. This block device is a user of MTD
202	  devices performing that function.
203
204	  At the moment, it is also required for the Journalling Flash File
205	  System(s) to obtain a handle on the MTD device when it's mounted
206	  (although JFFS and JFFS2 don't actually use any of the functionality
207	  of the mtdblock device).
208
209	  Later, it may be extended to perform read/erase/modify/write cycles
210	  on flash chips to emulate a smaller block size. Needless to say,
211	  this is very unsafe, but could be useful for file systems which are
212	  almost never written to.
213
214	  You do not need this option for use with the DiskOnChip devices. For
215	  those, enable NFTL support (CONFIG_NFTL) instead.
216
217config MTD_BLOCK_RO
218	tristate "Readonly block device access to MTD devices"
219	depends on MTD_BLOCK!=y && BLOCK
220	select MTD_BLKDEVS
221	help
222	  This allows you to mount read-only file systems (such as cramfs)
223	  from an MTD device, without the overhead (and danger) of the caching
224	  driver.
225
226	  You do not need this option for use with the DiskOnChip devices. For
227	  those, enable NFTL support (CONFIG_NFTL) instead.
228
229config FTL
230	tristate "FTL (Flash Translation Layer) support"
231	depends on BLOCK
232	select MTD_BLKDEVS
233	---help---
234	  This provides support for the original Flash Translation Layer which
235	  is part of the PCMCIA specification. It uses a kind of pseudo-
236	  file system on a flash device to emulate a block device with
237	  512-byte sectors, on top of which you put a 'normal' file system.
238
239	  You may find that the algorithms used in this code are patented
240	  unless you live in the Free World where software patents aren't
241	  legal - in the USA you are only permitted to use this on PCMCIA
242	  hardware, although under the terms of the GPL you're obviously
243	  permitted to copy, modify and distribute the code as you wish. Just
244	  not use it.
245
246config NFTL
247	tristate "NFTL (NAND Flash Translation Layer) support"
248	depends on BLOCK
249	select MTD_BLKDEVS
250	---help---
251	  This provides support for the NAND Flash Translation Layer which is
252	  used on M-Systems' DiskOnChip devices. It uses a kind of pseudo-
253	  file system on a flash device to emulate a block device with
254	  512-byte sectors, on top of which you put a 'normal' file system.
255
256	  You may find that the algorithms used in this code are patented
257	  unless you live in the Free World where software patents aren't
258	  legal - in the USA you are only permitted to use this on DiskOnChip
259	  hardware, although under the terms of the GPL you're obviously
260	  permitted to copy, modify and distribute the code as you wish. Just
261	  not use it.
262
263config NFTL_RW
264	bool "Write support for NFTL"
265	depends on NFTL
266	help
267	  Support for writing to the NAND Flash Translation Layer, as used
268	  on the DiskOnChip.
269
270config INFTL
271	tristate "INFTL (Inverse NAND Flash Translation Layer) support"
272	depends on BLOCK
273	select MTD_BLKDEVS
274	---help---
275	  This provides support for the Inverse NAND Flash Translation
276	  Layer which is used on M-Systems' newer DiskOnChip devices. It
277	  uses a kind of pseudo-file system on a flash device to emulate
278	  a block device with 512-byte sectors, on top of which you put
279	  a 'normal' file system.
280
281	  You may find that the algorithms used in this code are patented
282	  unless you live in the Free World where software patents aren't
283	  legal - in the USA you are only permitted to use this on DiskOnChip
284	  hardware, although under the terms of the GPL you're obviously
285	  permitted to copy, modify and distribute the code as you wish. Just
286	  not use it.
287
288config RFD_FTL
289        tristate "Resident Flash Disk (Flash Translation Layer) support"
290	depends on BLOCK
291	select MTD_BLKDEVS
292	---help---
293	  This provides support for the flash translation layer known
294	  as the Resident Flash Disk (RFD), as used by the Embedded BIOS
295	  of General Software. There is a blurb at:
296
297		http://www.gensw.com/pages/prod/bios/rfd.htm
298
299config SSFDC
300	tristate "NAND SSFDC (SmartMedia) read only translation layer"
301	depends on BLOCK
302	select MTD_BLKDEVS
303	help
304	  This enables read only access to SmartMedia formatted NAND
305	  flash. You can mount it with FAT file system.
306
307
308config SM_FTL
309	tristate "SmartMedia/xD new translation layer"
310	depends on EXPERIMENTAL && BLOCK
311	select MTD_BLKDEVS
312	select MTD_NAND_ECC
313	help
314	  This enables EXPERIMENTAL R/W support for SmartMedia/xD
315	  FTL (Flash translation layer).
316	  Write support is only lightly tested, therefore this driver
317	  isn't recommended to use with valuable data (anyway if you have
318	  valuable data, do backups regardless of software/hardware you
319	  use, because you never know what will eat your data...)
320	  If you only need R/O access, you can use older R/O driver
321	  (CONFIG_SSFDC)
322
323config MTD_OOPS
324	tristate "Log panic/oops to an MTD buffer"
325	help
326	  This enables panic and oops messages to be logged to a circular
327	  buffer in a flash partition where it can be read back at some
328	  later point.
329
330	  To use, add console=ttyMTDx to the kernel command line,
331	  where x is the MTD device number to use.
332
333source "drivers/mtd/chips/Kconfig"
334
335source "drivers/mtd/maps/Kconfig"
336
337source "drivers/mtd/devices/Kconfig"
338
339source "drivers/mtd/nand/Kconfig"
340
341source "drivers/mtd/onenand/Kconfig"
342
343source "drivers/mtd/lpddr/Kconfig"
344
345source "drivers/mtd/ubi/Kconfig"
346
347source "drivers/mtd/bcm947xx/Kconfig"
348
349endif # MTD
350