1menuconfig MTD 2 tristate "Memory Technology Device (MTD) support" 3 imply NVMEM 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 13if MTD 14 15config 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 26config MTD_CMDLINE_PARTS 27 tristate "Command line partition table parsing" 28 depends on MTD 29 help 30 Allow generic configuration of the MTD partition tables via the kernel 31 command line. Multiple flash resources are supported for hardware where 32 different kinds of flash memory are available. 33 34 You will still need the parsing functions to be called by the driver 35 for your particular device. It won't happen automatically. The 36 SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for 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 45 <size> := standard linux memsize OR "-" to denote all 46 remaining space 47 <name> := (NAME) 48 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 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 63config MTD_OF_PARTS 64 tristate "OpenFirmware partitioning information support" 65 default y 66 depends on OF 67 help 68 This provides a partition parsing function which derives 69 the partition map from the children of the flash node, 70 as described in Documentation/devicetree/bindings/mtd/partition.txt. 71 72config MTD_AR7_PARTS 73 tristate "TI AR7 partitioning support" 74 help 75 TI AR7 partitioning support 76 77config MTD_BCM63XX_PARTS 78 tristate "BCM63XX CFE partitioning support" 79 depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST 80 select CRC32 81 select MTD_PARSER_IMAGETAG 82 help 83 This provides partition parsing for BCM63xx devices with CFE 84 bootloaders. 85 86config MTD_BCM47XX_PARTS 87 tristate "BCM47XX partitioning support" 88 depends on BCM47XX || ARCH_BCM_5301X 89 help 90 This provides partitions parser for devices based on BCM47xx 91 boards. 92 93menu "Partition parsers" 94source "drivers/mtd/parsers/Kconfig" 95endmenu 96 97comment "User Modules And Translation Layers" 98 99# 100# MTD block device support is select'ed if needed 101# 102config MTD_BLKDEVS 103 tristate 104 105config MTD_BLOCK 106 tristate "Caching block device access to MTD devices" 107 depends on BLOCK 108 select MTD_BLKDEVS 109 help 110 Although most flash chips have an erase size too large to be useful 111 as block devices, it is possible to use MTD devices which are based 112 on RAM chips in this manner. This block device is a user of MTD 113 devices performing that function. 114 115 At the moment, it is also required for the Journalling Flash File 116 System(s) to obtain a handle on the MTD device when it's mounted 117 (although JFFS and JFFS2 don't actually use any of the functionality 118 of the mtdblock device). 119 120 Later, it may be extended to perform read/erase/modify/write cycles 121 on flash chips to emulate a smaller block size. Needless to say, 122 this is very unsafe, but could be useful for file systems which are 123 almost never written to. 124 125 You do not need this option for use with the DiskOnChip devices. For 126 those, enable NFTL support (CONFIG_NFTL) instead. 127 128config MTD_BLOCK_RO 129 tristate "Readonly block device access to MTD devices" 130 depends on MTD_BLOCK!=y && BLOCK 131 select MTD_BLKDEVS 132 help 133 This allows you to mount read-only file systems (such as cramfs) 134 from an MTD device, without the overhead (and danger) of the caching 135 driver. 136 137 You do not need this option for use with the DiskOnChip devices. For 138 those, enable NFTL support (CONFIG_NFTL) instead. 139 140config FTL 141 tristate "FTL (Flash Translation Layer) support" 142 depends on BLOCK 143 select MTD_BLKDEVS 144 help 145 This provides support for the original Flash Translation Layer which 146 is part of the PCMCIA specification. It uses a kind of pseudo- 147 file system on a flash device to emulate a block device with 148 512-byte sectors, on top of which you put a 'normal' file system. 149 150 You may find that the algorithms used in this code are patented 151 unless you live in the Free World where software patents aren't 152 legal - in the USA you are only permitted to use this on PCMCIA 153 hardware, although under the terms of the GPL you're obviously 154 permitted to copy, modify and distribute the code as you wish. Just 155 not use it. 156 157config NFTL 158 tristate "NFTL (NAND Flash Translation Layer) support" 159 depends on BLOCK 160 select MTD_BLKDEVS 161 help 162 This provides support for the NAND Flash Translation Layer which is 163 used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- 164 file system on a flash device to emulate a block device with 165 512-byte sectors, on top of which you put a 'normal' file system. 166 167 You may find that the algorithms used in this code are patented 168 unless you live in the Free World where software patents aren't 169 legal - in the USA you are only permitted to use this on DiskOnChip 170 hardware, although under the terms of the GPL you're obviously 171 permitted to copy, modify and distribute the code as you wish. Just 172 not use it. 173 174config NFTL_RW 175 bool "Write support for NFTL" 176 depends on NFTL 177 help 178 Support for writing to the NAND Flash Translation Layer, as used 179 on the DiskOnChip. 180 181config INFTL 182 tristate "INFTL (Inverse NAND Flash Translation Layer) support" 183 depends on BLOCK 184 select MTD_BLKDEVS 185 help 186 This provides support for the Inverse NAND Flash Translation 187 Layer which is used on M-Systems' newer DiskOnChip devices. It 188 uses a kind of pseudo-file system on a flash device to emulate 189 a block device with 512-byte sectors, on top of which you put 190 a 'normal' file system. 191 192 You may find that the algorithms used in this code are patented 193 unless you live in the Free World where software patents aren't 194 legal - in the USA you are only permitted to use this on DiskOnChip 195 hardware, although under the terms of the GPL you're obviously 196 permitted to copy, modify and distribute the code as you wish. Just 197 not use it. 198 199config RFD_FTL 200 tristate "Resident Flash Disk (Flash Translation Layer) support" 201 depends on BLOCK 202 select MTD_BLKDEVS 203 help 204 This provides support for the flash translation layer known 205 as the Resident Flash Disk (RFD), as used by the Embedded BIOS 206 of General Software. There is a blurb at: 207 208 http://www.gensw.com/pages/prod/bios/rfd.htm 209 210config SSFDC 211 tristate "NAND SSFDC (SmartMedia) read only translation layer" 212 depends on BLOCK 213 select MTD_BLKDEVS 214 help 215 This enables read only access to SmartMedia formatted NAND 216 flash. You can mount it with FAT file system. 217 218config SM_FTL 219 tristate "SmartMedia/xD new translation layer" 220 depends on BLOCK 221 select MTD_BLKDEVS 222 select MTD_NAND_ECC_SW_HAMMING 223 help 224 This enables EXPERIMENTAL R/W support for SmartMedia/xD 225 FTL (Flash translation layer). 226 Write support is only lightly tested, therefore this driver 227 isn't recommended to use with valuable data (anyway if you have 228 valuable data, do backups regardless of software/hardware you 229 use, because you never know what will eat your data...) 230 If you only need R/O access, you can use older R/O driver 231 (CONFIG_SSFDC) 232 233config MTD_OOPS 234 tristate "Log panic/oops to an MTD buffer" 235 help 236 This enables panic and oops messages to be logged to a circular 237 buffer in a flash partition where it can be read back at some 238 later point. 239 240config MTD_SWAP 241 tristate "Swap on MTD device support" 242 depends on MTD && SWAP 243 select MTD_BLKDEVS 244 help 245 Provides volatile block device driver on top of mtd partition 246 suitable for swapping. The mapping of written blocks is not saved. 247 The driver provides wear leveling by storing erase counter into the 248 OOB. 249 250config MTD_PARTITIONED_MASTER 251 bool "Retain master device when partitioned" 252 default n 253 depends on MTD 254 help 255 For historical reasons, by default, either a master is present or 256 several partitions are present, but not both. The concern was that 257 data listed in multiple partitions was dangerous; however, SCSI does 258 this and it is frequently useful for applications. This config option 259 leaves the master in even if the device is partitioned. It also makes 260 the parent of the partition device be the master device, rather than 261 what lies behind the master. 262 263source "drivers/mtd/chips/Kconfig" 264 265source "drivers/mtd/maps/Kconfig" 266 267source "drivers/mtd/devices/Kconfig" 268 269source "drivers/mtd/nand/Kconfig" 270 271source "drivers/mtd/lpddr/Kconfig" 272 273source "drivers/mtd/spi-nor/Kconfig" 274 275source "drivers/mtd/ubi/Kconfig" 276 277source "drivers/mtd/hyperbus/Kconfig" 278 279endif # MTD 280