| Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame^] | 1 | # $Id: Kconfig,v 1.10 2005/07/11 10:39:27 gleixner Exp $ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Sean Young | e27a996 | 2005-06-16 09:49:33 +0100 | [diff] [blame] | 256 | config RFD_FTL | 
|  | 257 | tristate "Resident Flash Disk (Flash Translation Layer) support" | 
|  | 258 | depends on MTD | 
|  | 259 | ---help--- | 
|  | 260 | This provides support for the flash translation layer known | 
|  | 261 | as the Resident Flash Disk (RFD), as used by the Embedded BIOS | 
| Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame^] | 262 | of General Software. There is a blurb at: | 
|  | 263 |  | 
|  | 264 | http://www.gensw.com/pages/prod/bios/rfd.htm | 
| Sean Young | e27a996 | 2005-06-16 09:49:33 +0100 | [diff] [blame] | 265 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 266 | source "drivers/mtd/chips/Kconfig" | 
|  | 267 |  | 
|  | 268 | source "drivers/mtd/maps/Kconfig" | 
|  | 269 |  | 
|  | 270 | source "drivers/mtd/devices/Kconfig" | 
|  | 271 |  | 
|  | 272 | source "drivers/mtd/nand/Kconfig" | 
|  | 273 |  | 
| Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame^] | 274 | source "drivers/mtd/onenand/Kconfig" | 
|  | 275 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 276 | endmenu | 
|  | 277 |  |