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