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