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