]>
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 | ||
99352afe RM |
26 | menu "Partition parsers" |
27 | source "drivers/mtd/parsers/Kconfig" | |
28 | endmenu | |
29 | ||
1da177e4 | 30 | comment "User Modules And Translation Layers" |
1da177e4 | 31 | |
7f11b4d4 EG |
32 | # |
33 | # MTD block device support is select'ed if needed | |
34 | # | |
f6a7ecb1 | 35 | config MTD_BLKDEVS |
7f11b4d4 | 36 | tristate |
f6a7ecb1 | 37 | |
1da177e4 LT |
38 | config MTD_BLOCK |
39 | tristate "Caching block device access to MTD devices" | |
ec98c681 | 40 | depends on BLOCK |
f6a7ecb1 | 41 | select MTD_BLKDEVS |
a8222a84 | 42 | help |
1da177e4 LT |
43 | Although most flash chips have an erase size too large to be useful |
44 | as block devices, it is possible to use MTD devices which are based | |
45 | on RAM chips in this manner. This block device is a user of MTD | |
46 | devices performing that function. | |
47 | ||
6bc219b7 EG |
48 | Note that mounting a JFFS2 filesystem doesn't require using mtdblock. |
49 | It's possible to mount a rootfs using the MTD device on the "root=" | |
50 | bootargs as "root=mtd2" or "root=mtd:name_of_device". | |
1da177e4 LT |
51 | |
52 | Later, it may be extended to perform read/erase/modify/write cycles | |
53 | on flash chips to emulate a smaller block size. Needless to say, | |
54 | this is very unsafe, but could be useful for file systems which are | |
55 | almost never written to. | |
56 | ||
57 | You do not need this option for use with the DiskOnChip devices. For | |
58 | those, enable NFTL support (CONFIG_NFTL) instead. | |
59 | ||
60 | config MTD_BLOCK_RO | |
61 | tristate "Readonly block device access to MTD devices" | |
ec98c681 | 62 | depends on MTD_BLOCK!=y && BLOCK |
f6a7ecb1 | 63 | select MTD_BLKDEVS |
1da177e4 LT |
64 | help |
65 | This allows you to mount read-only file systems (such as cramfs) | |
66 | from an MTD device, without the overhead (and danger) of the caching | |
67 | driver. | |
68 | ||
69 | You do not need this option for use with the DiskOnChip devices. For | |
70 | those, enable NFTL support (CONFIG_NFTL) instead. | |
71 | ||
42ba8c3b EG |
72 | comment "Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK." |
73 | depends on MTD_BLOCK || MTD_BLOCK_RO | |
74 | ||
1da177e4 LT |
75 | config FTL |
76 | tristate "FTL (Flash Translation Layer) support" | |
ec98c681 | 77 | depends on BLOCK |
f6a7ecb1 | 78 | select MTD_BLKDEVS |
a8222a84 | 79 | help |
1da177e4 LT |
80 | This provides support for the original Flash Translation Layer which |
81 | is part of the PCMCIA specification. It uses a kind of pseudo- | |
82 | file system on a flash device to emulate a block device with | |
83 | 512-byte sectors, on top of which you put a 'normal' file system. | |
84 | ||
85 | You may find that the algorithms used in this code are patented | |
86 | unless you live in the Free World where software patents aren't | |
87 | legal - in the USA you are only permitted to use this on PCMCIA | |
88 | hardware, although under the terms of the GPL you're obviously | |
89 | permitted to copy, modify and distribute the code as you wish. Just | |
90 | not use it. | |
91 | ||
92 | config NFTL | |
93 | tristate "NFTL (NAND Flash Translation Layer) support" | |
ec98c681 | 94 | depends on BLOCK |
f6a7ecb1 | 95 | select MTD_BLKDEVS |
a8222a84 | 96 | help |
1da177e4 LT |
97 | This provides support for the NAND Flash Translation Layer which is |
98 | used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- | |
99 | file system on a flash device to emulate a block device with | |
100 | 512-byte sectors, on top of which you put a 'normal' file system. | |
101 | ||
102 | You may find that the algorithms used in this code are patented | |
103 | unless you live in the Free World where software patents aren't | |
104 | legal - in the USA you are only permitted to use this on DiskOnChip | |
105 | hardware, although under the terms of the GPL you're obviously | |
106 | permitted to copy, modify and distribute the code as you wish. Just | |
107 | not use it. | |
108 | ||
109 | config NFTL_RW | |
110 | bool "Write support for NFTL" | |
111 | depends on NFTL | |
112 | help | |
113 | Support for writing to the NAND Flash Translation Layer, as used | |
114 | on the DiskOnChip. | |
115 | ||
116 | config INFTL | |
117 | tristate "INFTL (Inverse NAND Flash Translation Layer) support" | |
ec98c681 | 118 | depends on BLOCK |
f6a7ecb1 | 119 | select MTD_BLKDEVS |
a8222a84 | 120 | help |
97894cda | 121 | This provides support for the Inverse NAND Flash Translation |
1da177e4 LT |
122 | Layer which is used on M-Systems' newer DiskOnChip devices. It |
123 | uses a kind of pseudo-file system on a flash device to emulate | |
124 | a block device with 512-byte sectors, on top of which you put | |
125 | a 'normal' file system. | |
126 | ||
127 | You may find that the algorithms used in this code are patented | |
128 | unless you live in the Free World where software patents aren't | |
129 | legal - in the USA you are only permitted to use this on DiskOnChip | |
130 | hardware, although under the terms of the GPL you're obviously | |
131 | permitted to copy, modify and distribute the code as you wish. Just | |
132 | not use it. | |
133 | ||
e27a9960 | 134 | config RFD_FTL |
a8222a84 | 135 | tristate "Resident Flash Disk (Flash Translation Layer) support" |
ec98c681 | 136 | depends on BLOCK |
f6a7ecb1 | 137 | select MTD_BLKDEVS |
a8222a84 | 138 | help |
97894cda TG |
139 | This provides support for the flash translation layer known |
140 | as the Resident Flash Disk (RFD), as used by the Embedded BIOS | |
cd5f6346 KP |
141 | of General Software. There is a blurb at: |
142 | ||
143 | http://www.gensw.com/pages/prod/bios/rfd.htm | |
e27a9960 | 144 | |
51197abf | 145 | config SSFDC |
892e4fba | 146 | tristate "NAND SSFDC (SmartMedia) read only translation layer" |
ec98c681 | 147 | depends on BLOCK |
f6a7ecb1 | 148 | select MTD_BLKDEVS |
51197abf CL |
149 | help |
150 | This enables read only access to SmartMedia formatted NAND | |
151 | flash. You can mount it with FAT file system. | |
152 | ||
7d17c02a ML |
153 | config SM_FTL |
154 | tristate "SmartMedia/xD new translation layer" | |
6372680c | 155 | depends on BLOCK |
7d17c02a | 156 | select MTD_BLKDEVS |
e5acf9c8 | 157 | select MTD_NAND_CORE |
9bb94643 | 158 | select MTD_NAND_ECC_SW_HAMMING |
7d17c02a | 159 | help |
6f92355c | 160 | This enables EXPERIMENTAL R/W support for SmartMedia/xD |
7de6f798 | 161 | FTL (Flash translation layer). |
6f92355c ML |
162 | Write support is only lightly tested, therefore this driver |
163 | isn't recommended to use with valuable data (anyway if you have | |
164 | valuable data, do backups regardless of software/hardware you | |
165 | use, because you never know what will eat your data...) | |
166 | If you only need R/O access, you can use older R/O driver | |
167 | (CONFIG_SSFDC) | |
7d17c02a | 168 | |
4b23aff0 RP |
169 | config MTD_OOPS |
170 | tristate "Log panic/oops to an MTD buffer" | |
4b23aff0 RP |
171 | help |
172 | This enables panic and oops messages to be logged to a circular | |
173 | buffer in a flash partition where it can be read back at some | |
174 | later point. | |
175 | ||
78c08247 WL |
176 | config MTD_PSTORE |
177 | tristate "Log panic/oops to an MTD buffer based on pstore" | |
178 | depends on PSTORE_BLK | |
179 | help | |
180 | This enables panic and oops messages to be logged to a circular | |
181 | buffer in a flash partition where it can be read back as files after | |
182 | mounting pstore filesystem. | |
183 | ||
184 | If unsure, say N. | |
185 | ||
a3215902 JL |
186 | config MTD_SWAP |
187 | tristate "Swap on MTD device support" | |
188 | depends on MTD && SWAP | |
189 | select MTD_BLKDEVS | |
190 | help | |
191 | Provides volatile block device driver on top of mtd partition | |
a8222a84 | 192 | suitable for swapping. The mapping of written blocks is not saved. |
a3215902 JL |
193 | The driver provides wear leveling by storing erase counter into the |
194 | OOB. | |
195 | ||
727dc612 DE |
196 | config MTD_PARTITIONED_MASTER |
197 | bool "Retain master device when partitioned" | |
198 | default n | |
199 | depends on MTD | |
200 | help | |
201 | For historical reasons, by default, either a master is present or | |
202 | several partitions are present, but not both. The concern was that | |
203 | data listed in multiple partitions was dangerous; however, SCSI does | |
204 | this and it is frequently useful for applications. This config option | |
205 | leaves the master in even if the device is partitioned. It also makes | |
206 | the parent of the partition device be the master device, rather than | |
207 | what lies behind the master. | |
208 | ||
1da177e4 LT |
209 | source "drivers/mtd/chips/Kconfig" |
210 | ||
211 | source "drivers/mtd/maps/Kconfig" | |
212 | ||
213 | source "drivers/mtd/devices/Kconfig" | |
214 | ||
215 | source "drivers/mtd/nand/Kconfig" | |
216 | ||
60f26520 AK |
217 | source "drivers/mtd/lpddr/Kconfig" |
218 | ||
b199489d HS |
219 | source "drivers/mtd/spi-nor/Kconfig" |
220 | ||
801c135c AB |
221 | source "drivers/mtd/ubi/Kconfig" |
222 | ||
dcc7d344 VR |
223 | source "drivers/mtd/hyperbus/Kconfig" |
224 | ||
ec98c681 | 225 | endif # MTD |