Commit | Line | Data |
---|---|---|
97894cda | 1 | # $Id: Kconfig,v 1.11 2005/11/07 11:14:19 gleixner Exp $ |
1da177e4 | 2 | |
ec98c681 | 3 | menuconfig MTD |
1da177e4 | 4 | tristate "Memory Technology Device (MTD) support" |
e25df120 | 5 | depends on HAS_IOMEM |
1da177e4 LT |
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 | |
97894cda | 12 | them. It will also allow you to select individual drivers for |
1da177e4 LT |
13 | particular hardware and users of MTD devices. If unsure, say N. |
14 | ||
ec98c681 JE |
15 | if MTD |
16 | ||
1da177e4 LT |
17 | config MTD_DEBUG |
18 | bool "Debugging" | |
1da177e4 LT |
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" | |
1da177e4 LT |
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" | |
1da177e4 LT |
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 | |
97894cda | 62 | this option. |
1da177e4 LT |
63 | |
64 | You will still need the parsing functions to be called by the driver | |
97894cda TG |
65 | for your particular device. It won't happen automatically. The |
66 | SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for | |
1da177e4 LT |
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 | |
4992a9e8 | 79 | partition table. A zero or positive value gives an absolute |
1da177e4 LT |
80 | erase block number. A negative value specifies a number of |
81 | sectors before the end of the device. | |
97894cda | 82 | |
1da177e4 LT |
83 | For example "2" means block number 2, "-1" means the last |
84 | block and "-2" means the penultimate block. | |
97894cda | 85 | |
1da177e4 | 86 | config MTD_REDBOOT_PARTS_UNALLOCATED |
e55a3e8a | 87 | bool "Include unallocated flash regions" |
1da177e4 LT |
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 | |
e55a3e8a | 94 | bool "Force read-only for RedBoot system images" |
1da177e4 LT |
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" | |
892e4fba | 102 | depends on MTD_PARTITIONS = "y" && MTD = "y" |
1da177e4 | 103 | ---help--- |
4992a9e8 | 104 | Allow generic configuration of the MTD partition tables via the kernel |
1da177e4 | 105 | command line. Multiple flash resources are supported for hardware where |
97894cda | 106 | different kinds of flash memory are available. |
1da177e4 LT |
107 | |
108 | You will still need the parsing functions to be called by the driver | |
97894cda TG |
109 | for your particular device. It won't happen automatically. The |
110 | SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for | |
1da177e4 LT |
111 | example. |
112 | ||
113 | The format for the command line is as follows: | |
114 | ||
115 | mtdparts=<mtddef>[;<mtddef] | |
116 | <mtddef> := <mtd-id>:<partdef>[,<partdef>] | |
117 | <partdef> := <size>[@offset][<name>][ro] | |
118 | <mtd-id> := unique id used in mapping driver/device | |
97894cda | 119 | <size> := standard linux memsize OR "-" to denote all |
1da177e4 LT |
120 | remaining space |
121 | <name> := (NAME) | |
122 | ||
97894cda TG |
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 | |
1da177e4 LT |
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 | ||
9a310d21 SW |
153 | config MTD_OF_PARTS |
154 | tristate "Flash partition map based on OF description" | |
155 | depends on PPC_OF && MTD_PARTITIONS | |
156 | help | |
157 | This provides a partition parsing function which derives | |
158 | the partition map from the children of the flash node, | |
159 | as described in Documentation/powerpc/booting-without-of.txt. | |
160 | ||
f0797881 MC |
161 | config MTD_AR7_PARTS |
162 | tristate "TI AR7 partitioning support" | |
163 | depends on MTD_PARTITIONS | |
164 | ---help--- | |
165 | TI AR7 partitioning support | |
166 | ||
1da177e4 | 167 | comment "User Modules And Translation Layers" |
1da177e4 LT |
168 | |
169 | config MTD_CHAR | |
170 | tristate "Direct char device access to MTD devices" | |
1da177e4 LT |
171 | help |
172 | This provides a character device for each MTD device present in | |
173 | the system, allowing the user to read and write directly to the | |
174 | memory chips, and also use ioctl() to obtain information about | |
175 | the device, or to erase parts of it. | |
176 | ||
f6a7ecb1 JB |
177 | config MTD_BLKDEVS |
178 | tristate "Common interface to block layer for MTD 'translation layers'" | |
ec98c681 | 179 | depends on BLOCK |
f6a7ecb1 JB |
180 | default n |
181 | ||
1da177e4 LT |
182 | config MTD_BLOCK |
183 | tristate "Caching block device access to MTD devices" | |
ec98c681 | 184 | depends on BLOCK |
f6a7ecb1 | 185 | select MTD_BLKDEVS |
1da177e4 LT |
186 | ---help--- |
187 | Although most flash chips have an erase size too large to be useful | |
188 | as block devices, it is possible to use MTD devices which are based | |
189 | on RAM chips in this manner. This block device is a user of MTD | |
190 | devices performing that function. | |
191 | ||
192 | At the moment, it is also required for the Journalling Flash File | |
193 | System(s) to obtain a handle on the MTD device when it's mounted | |
194 | (although JFFS and JFFS2 don't actually use any of the functionality | |
195 | of the mtdblock device). | |
196 | ||
197 | Later, it may be extended to perform read/erase/modify/write cycles | |
198 | on flash chips to emulate a smaller block size. Needless to say, | |
199 | this is very unsafe, but could be useful for file systems which are | |
200 | almost never written to. | |
201 | ||
202 | You do not need this option for use with the DiskOnChip devices. For | |
203 | those, enable NFTL support (CONFIG_NFTL) instead. | |
204 | ||
205 | config MTD_BLOCK_RO | |
206 | tristate "Readonly block device access to MTD devices" | |
ec98c681 | 207 | depends on MTD_BLOCK!=y && BLOCK |
f6a7ecb1 | 208 | select MTD_BLKDEVS |
1da177e4 LT |
209 | help |
210 | This allows you to mount read-only file systems (such as cramfs) | |
211 | from an MTD device, without the overhead (and danger) of the caching | |
212 | driver. | |
213 | ||
214 | You do not need this option for use with the DiskOnChip devices. For | |
215 | those, enable NFTL support (CONFIG_NFTL) instead. | |
216 | ||
217 | config FTL | |
218 | tristate "FTL (Flash Translation Layer) support" | |
ec98c681 | 219 | depends on BLOCK |
f6a7ecb1 | 220 | select MTD_BLKDEVS |
1da177e4 LT |
221 | ---help--- |
222 | This provides support for the original Flash Translation Layer which | |
223 | is part of the PCMCIA specification. It uses a kind of pseudo- | |
224 | file system on a flash device to emulate a block device with | |
225 | 512-byte sectors, on top of which you put a 'normal' file system. | |
226 | ||
227 | You may find that the algorithms used in this code are patented | |
228 | unless you live in the Free World where software patents aren't | |
229 | legal - in the USA you are only permitted to use this on PCMCIA | |
230 | hardware, although under the terms of the GPL you're obviously | |
231 | permitted to copy, modify and distribute the code as you wish. Just | |
232 | not use it. | |
233 | ||
234 | config NFTL | |
235 | tristate "NFTL (NAND Flash Translation Layer) support" | |
ec98c681 | 236 | depends on BLOCK |
f6a7ecb1 | 237 | select MTD_BLKDEVS |
1da177e4 LT |
238 | ---help--- |
239 | This provides support for the NAND Flash Translation Layer which is | |
240 | used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- | |
241 | file system on a flash device to emulate a block device with | |
242 | 512-byte sectors, on top of which you put a 'normal' file system. | |
243 | ||
244 | You may find that the algorithms used in this code are patented | |
245 | unless you live in the Free World where software patents aren't | |
246 | legal - in the USA you are only permitted to use this on DiskOnChip | |
247 | hardware, although under the terms of the GPL you're obviously | |
248 | permitted to copy, modify and distribute the code as you wish. Just | |
249 | not use it. | |
250 | ||
251 | config NFTL_RW | |
252 | bool "Write support for NFTL" | |
253 | depends on NFTL | |
254 | help | |
255 | Support for writing to the NAND Flash Translation Layer, as used | |
256 | on the DiskOnChip. | |
257 | ||
258 | config INFTL | |
259 | tristate "INFTL (Inverse NAND Flash Translation Layer) support" | |
ec98c681 | 260 | depends on BLOCK |
f6a7ecb1 | 261 | select MTD_BLKDEVS |
1da177e4 | 262 | ---help--- |
97894cda | 263 | This provides support for the Inverse NAND Flash Translation |
1da177e4 LT |
264 | Layer which is used on M-Systems' newer DiskOnChip devices. It |
265 | uses a kind of pseudo-file system on a flash device to emulate | |
266 | a block device with 512-byte sectors, on top of which you put | |
267 | a 'normal' file system. | |
268 | ||
269 | You may find that the algorithms used in this code are patented | |
270 | unless you live in the Free World where software patents aren't | |
271 | legal - in the USA you are only permitted to use this on DiskOnChip | |
272 | hardware, although under the terms of the GPL you're obviously | |
273 | permitted to copy, modify and distribute the code as you wish. Just | |
274 | not use it. | |
275 | ||
e27a9960 SY |
276 | config RFD_FTL |
277 | tristate "Resident Flash Disk (Flash Translation Layer) support" | |
ec98c681 | 278 | depends on BLOCK |
f6a7ecb1 | 279 | select MTD_BLKDEVS |
e27a9960 | 280 | ---help--- |
97894cda TG |
281 | This provides support for the flash translation layer known |
282 | as the Resident Flash Disk (RFD), as used by the Embedded BIOS | |
cd5f6346 KP |
283 | of General Software. There is a blurb at: |
284 | ||
285 | http://www.gensw.com/pages/prod/bios/rfd.htm | |
e27a9960 | 286 | |
51197abf | 287 | config SSFDC |
892e4fba | 288 | tristate "NAND SSFDC (SmartMedia) read only translation layer" |
ec98c681 | 289 | depends on BLOCK |
f6a7ecb1 | 290 | select MTD_BLKDEVS |
51197abf CL |
291 | help |
292 | This enables read only access to SmartMedia formatted NAND | |
293 | flash. You can mount it with FAT file system. | |
294 | ||
4b23aff0 RP |
295 | config MTD_OOPS |
296 | tristate "Log panic/oops to an MTD buffer" | |
297 | depends on MTD | |
298 | help | |
299 | This enables panic and oops messages to be logged to a circular | |
300 | buffer in a flash partition where it can be read back at some | |
301 | later point. | |
302 | ||
256331d5 PK |
303 | To use, add console=ttyMTDx to the kernel command line, |
304 | where x is the MTD device number to use. | |
305 | ||
1da177e4 LT |
306 | source "drivers/mtd/chips/Kconfig" |
307 | ||
308 | source "drivers/mtd/maps/Kconfig" | |
309 | ||
310 | source "drivers/mtd/devices/Kconfig" | |
311 | ||
312 | source "drivers/mtd/nand/Kconfig" | |
313 | ||
cd5f6346 KP |
314 | source "drivers/mtd/onenand/Kconfig" |
315 | ||
801c135c AB |
316 | source "drivers/mtd/ubi/Kconfig" |
317 | ||
ec98c681 | 318 | endif # MTD |