Commit | Line | Data |
---|---|---|
ec98c681 | 1 | menuconfig MTD |
1da177e4 | 2 | tristate "Memory Technology Device (MTD) support" |
c4dfa25a | 3 | imply NVMEM |
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 | 15 | config MTD_TESTS |
48e546b7 | 16 | tristate "MTD tests support (DANGEROUS)" |
80f53da0 MF |
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 | ||
48e546b7 WS |
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 | ||
1da177e4 | 26 | config MTD_CMDLINE_PARTS |
f5f172dc LR |
27 | tristate "Command line partition table parsing" |
28 | depends on MTD | |
a8222a84 | 29 | help |
4992a9e8 | 30 | Allow generic configuration of the MTD partition tables via the kernel |
1da177e4 | 31 | command line. Multiple flash resources are supported for hardware where |
97894cda | 32 | different kinds of flash memory are available. |
1da177e4 LT |
33 | |
34 | You will still need the parsing functions to be called by the driver | |
97894cda TG |
35 | for your particular device. It won't happen automatically. The |
36 | SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for | |
1da177e4 LT |
37 | example. |
38 | ||
39 | The format for the command line is as follows: | |
40 | ||
41 | mtdparts=<mtddef>[;<mtddef] | |
42 | <mtddef> := <mtd-id>:<partdef>[,<partdef>] | |
43 | <partdef> := <size>[@offset][<name>][ro] | |
44 | <mtd-id> := unique id used in mapping driver/device | |
97894cda | 45 | <size> := standard linux memsize OR "-" to denote all |
1da177e4 LT |
46 | remaining space |
47 | <name> := (NAME) | |
48 | ||
97894cda TG |
49 | Due to the way Linux handles the command line, no spaces are |
50 | allowed in the partition definition, including mtd id's and partition | |
1da177e4 LT |
51 | names. |
52 | ||
53 | Examples: | |
54 | ||
55 | 1 flash resource (mtd-id "sa1100"), with 1 single writable partition: | |
56 | mtdparts=sa1100:- | |
57 | ||
58 | Same flash, but 2 named partitions, the first one being read-only: | |
59 | mtdparts=sa1100:256k(ARMboot)ro,-(root) | |
60 | ||
61 | If unsure, say 'N'. | |
62 | ||
63 | config MTD_AFS_PARTS | |
64 | tristate "ARM Firmware Suite partition parsing" | |
8cf98018 | 65 | depends on (ARM || ARM64) |
a8222a84 | 66 | help |
1da177e4 LT |
67 | The ARM Firmware Suite allows the user to divide flash devices into |
68 | multiple 'images'. Each such image has a header containing its name | |
69 | and offset/size etc. | |
70 | ||
71 | If you need code which can detect and parse these tables, and | |
72 | register MTD 'partitions' corresponding to each image detected, | |
73 | enable this option. | |
74 | ||
75 | You will still need the parsing functions to be called by the driver | |
76 | for your particular device. It won't happen automatically. The | |
adf00400 | 77 | 'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example. |
1da177e4 | 78 | |
9a310d21 | 79 | config MTD_OF_PARTS |
d6137bad | 80 | tristate "OpenFirmware partitioning information support" |
2e929d00 | 81 | default y |
b7b6e08f | 82 | depends on OF |
9a310d21 SW |
83 | help |
84 | This provides a partition parsing function which derives | |
85 | the partition map from the children of the flash node, | |
e7606446 | 86 | as described in Documentation/devicetree/bindings/mtd/partition.txt. |
9a310d21 | 87 | |
f0797881 MC |
88 | config MTD_AR7_PARTS |
89 | tristate "TI AR7 partitioning support" | |
a8222a84 | 90 | help |
f0797881 MC |
91 | TI AR7 partitioning support |
92 | ||
70a3c167 JG |
93 | config MTD_BCM63XX_PARTS |
94 | tristate "BCM63XX CFE partitioning support" | |
436e94a6 | 95 | depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST |
70a3c167 JG |
96 | select CRC32 |
97 | help | |
81d9e98f | 98 | This provides partition parsing for BCM63xx devices with CFE |
70a3c167 JG |
99 | bootloaders. |
100 | ||
3cf7f131 RM |
101 | config MTD_BCM47XX_PARTS |
102 | tristate "BCM47XX partitioning support" | |
9e3afa5f | 103 | depends on BCM47XX || ARCH_BCM_5301X |
3cf7f131 RM |
104 | help |
105 | This provides partitions parser for devices based on BCM47xx | |
106 | boards. | |
107 | ||
99352afe RM |
108 | menu "Partition parsers" |
109 | source "drivers/mtd/parsers/Kconfig" | |
110 | endmenu | |
111 | ||
1da177e4 | 112 | comment "User Modules And Translation Layers" |
1da177e4 | 113 | |
7f11b4d4 EG |
114 | # |
115 | # MTD block device support is select'ed if needed | |
116 | # | |
f6a7ecb1 | 117 | config MTD_BLKDEVS |
7f11b4d4 | 118 | tristate |
f6a7ecb1 | 119 | |
1da177e4 LT |
120 | config MTD_BLOCK |
121 | tristate "Caching block device access to MTD devices" | |
ec98c681 | 122 | depends on BLOCK |
f6a7ecb1 | 123 | select MTD_BLKDEVS |
a8222a84 | 124 | help |
1da177e4 LT |
125 | Although most flash chips have an erase size too large to be useful |
126 | as block devices, it is possible to use MTD devices which are based | |
127 | on RAM chips in this manner. This block device is a user of MTD | |
128 | devices performing that function. | |
129 | ||
130 | At the moment, it is also required for the Journalling Flash File | |
131 | System(s) to obtain a handle on the MTD device when it's mounted | |
132 | (although JFFS and JFFS2 don't actually use any of the functionality | |
133 | of the mtdblock device). | |
134 | ||
135 | Later, it may be extended to perform read/erase/modify/write cycles | |
136 | on flash chips to emulate a smaller block size. Needless to say, | |
137 | this is very unsafe, but could be useful for file systems which are | |
138 | almost never written to. | |
139 | ||
140 | You do not need this option for use with the DiskOnChip devices. For | |
141 | those, enable NFTL support (CONFIG_NFTL) instead. | |
142 | ||
143 | config MTD_BLOCK_RO | |
144 | tristate "Readonly block device access to MTD devices" | |
ec98c681 | 145 | depends on MTD_BLOCK!=y && BLOCK |
f6a7ecb1 | 146 | select MTD_BLKDEVS |
1da177e4 LT |
147 | help |
148 | This allows you to mount read-only file systems (such as cramfs) | |
149 | from an MTD device, without the overhead (and danger) of the caching | |
150 | driver. | |
151 | ||
152 | You do not need this option for use with the DiskOnChip devices. For | |
153 | those, enable NFTL support (CONFIG_NFTL) instead. | |
154 | ||
155 | config FTL | |
156 | tristate "FTL (Flash Translation Layer) support" | |
ec98c681 | 157 | depends on BLOCK |
f6a7ecb1 | 158 | select MTD_BLKDEVS |
a8222a84 | 159 | help |
1da177e4 LT |
160 | This provides support for the original Flash Translation Layer which |
161 | is part of the PCMCIA specification. It uses a kind of pseudo- | |
162 | file system on a flash device to emulate a block device with | |
163 | 512-byte sectors, on top of which you put a 'normal' file system. | |
164 | ||
165 | You may find that the algorithms used in this code are patented | |
166 | unless you live in the Free World where software patents aren't | |
167 | legal - in the USA you are only permitted to use this on PCMCIA | |
168 | hardware, although under the terms of the GPL you're obviously | |
169 | permitted to copy, modify and distribute the code as you wish. Just | |
170 | not use it. | |
171 | ||
172 | config NFTL | |
173 | tristate "NFTL (NAND Flash Translation Layer) support" | |
ec98c681 | 174 | depends on BLOCK |
f6a7ecb1 | 175 | select MTD_BLKDEVS |
a8222a84 | 176 | help |
1da177e4 LT |
177 | This provides support for the NAND Flash Translation Layer which is |
178 | used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- | |
179 | file system on a flash device to emulate a block device with | |
180 | 512-byte sectors, on top of which you put a 'normal' file system. | |
181 | ||
182 | You may find that the algorithms used in this code are patented | |
183 | unless you live in the Free World where software patents aren't | |
184 | legal - in the USA you are only permitted to use this on DiskOnChip | |
185 | hardware, although under the terms of the GPL you're obviously | |
186 | permitted to copy, modify and distribute the code as you wish. Just | |
187 | not use it. | |
188 | ||
189 | config NFTL_RW | |
190 | bool "Write support for NFTL" | |
191 | depends on NFTL | |
192 | help | |
193 | Support for writing to the NAND Flash Translation Layer, as used | |
194 | on the DiskOnChip. | |
195 | ||
196 | config INFTL | |
197 | tristate "INFTL (Inverse NAND Flash Translation Layer) support" | |
ec98c681 | 198 | depends on BLOCK |
f6a7ecb1 | 199 | select MTD_BLKDEVS |
a8222a84 | 200 | help |
97894cda | 201 | This provides support for the Inverse NAND Flash Translation |
1da177e4 LT |
202 | Layer which is used on M-Systems' newer DiskOnChip devices. It |
203 | uses a kind of pseudo-file system on a flash device to emulate | |
204 | a block device with 512-byte sectors, on top of which you put | |
205 | a 'normal' file system. | |
206 | ||
207 | You may find that the algorithms used in this code are patented | |
208 | unless you live in the Free World where software patents aren't | |
209 | legal - in the USA you are only permitted to use this on DiskOnChip | |
210 | hardware, although under the terms of the GPL you're obviously | |
211 | permitted to copy, modify and distribute the code as you wish. Just | |
212 | not use it. | |
213 | ||
e27a9960 | 214 | config RFD_FTL |
a8222a84 | 215 | tristate "Resident Flash Disk (Flash Translation Layer) support" |
ec98c681 | 216 | depends on BLOCK |
f6a7ecb1 | 217 | select MTD_BLKDEVS |
a8222a84 | 218 | help |
97894cda TG |
219 | This provides support for the flash translation layer known |
220 | as the Resident Flash Disk (RFD), as used by the Embedded BIOS | |
cd5f6346 KP |
221 | of General Software. There is a blurb at: |
222 | ||
223 | http://www.gensw.com/pages/prod/bios/rfd.htm | |
e27a9960 | 224 | |
51197abf | 225 | config SSFDC |
892e4fba | 226 | tristate "NAND SSFDC (SmartMedia) read only translation layer" |
ec98c681 | 227 | depends on BLOCK |
f6a7ecb1 | 228 | select MTD_BLKDEVS |
51197abf CL |
229 | help |
230 | This enables read only access to SmartMedia formatted NAND | |
231 | flash. You can mount it with FAT file system. | |
232 | ||
7d17c02a ML |
233 | |
234 | config SM_FTL | |
235 | tristate "SmartMedia/xD new translation layer" | |
6372680c | 236 | depends on BLOCK |
7d17c02a | 237 | select MTD_BLKDEVS |
e5f710cf | 238 | select MTD_NAND_ECC |
7d17c02a | 239 | help |
6f92355c | 240 | This enables EXPERIMENTAL R/W support for SmartMedia/xD |
7de6f798 | 241 | FTL (Flash translation layer). |
6f92355c ML |
242 | Write support is only lightly tested, therefore this driver |
243 | isn't recommended to use with valuable data (anyway if you have | |
244 | valuable data, do backups regardless of software/hardware you | |
245 | use, because you never know what will eat your data...) | |
246 | If you only need R/O access, you can use older R/O driver | |
247 | (CONFIG_SSFDC) | |
7d17c02a | 248 | |
4b23aff0 RP |
249 | config MTD_OOPS |
250 | tristate "Log panic/oops to an MTD buffer" | |
4b23aff0 RP |
251 | help |
252 | This enables panic and oops messages to be logged to a circular | |
253 | buffer in a flash partition where it can be read back at some | |
254 | later point. | |
255 | ||
a3215902 JL |
256 | config MTD_SWAP |
257 | tristate "Swap on MTD device support" | |
258 | depends on MTD && SWAP | |
259 | select MTD_BLKDEVS | |
260 | help | |
261 | Provides volatile block device driver on top of mtd partition | |
a8222a84 | 262 | suitable for swapping. The mapping of written blocks is not saved. |
a3215902 JL |
263 | The driver provides wear leveling by storing erase counter into the |
264 | OOB. | |
265 | ||
727dc612 DE |
266 | config MTD_PARTITIONED_MASTER |
267 | bool "Retain master device when partitioned" | |
268 | default n | |
269 | depends on MTD | |
270 | help | |
271 | For historical reasons, by default, either a master is present or | |
272 | several partitions are present, but not both. The concern was that | |
273 | data listed in multiple partitions was dangerous; however, SCSI does | |
274 | this and it is frequently useful for applications. This config option | |
275 | leaves the master in even if the device is partitioned. It also makes | |
276 | the parent of the partition device be the master device, rather than | |
277 | what lies behind the master. | |
278 | ||
1da177e4 LT |
279 | source "drivers/mtd/chips/Kconfig" |
280 | ||
281 | source "drivers/mtd/maps/Kconfig" | |
282 | ||
283 | source "drivers/mtd/devices/Kconfig" | |
284 | ||
285 | source "drivers/mtd/nand/Kconfig" | |
286 | ||
60f26520 AK |
287 | source "drivers/mtd/lpddr/Kconfig" |
288 | ||
b199489d HS |
289 | source "drivers/mtd/spi-nor/Kconfig" |
290 | ||
801c135c AB |
291 | source "drivers/mtd/ubi/Kconfig" |
292 | ||
ec98c681 | 293 | endif # MTD |