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