162306a36Sopenharmony_cimenuconfig MTD 262306a36Sopenharmony_ci tristate "Memory Technology Device (MTD) support" 362306a36Sopenharmony_ci imply NVMEM 462306a36Sopenharmony_ci help 562306a36Sopenharmony_ci Memory Technology Devices are flash, RAM and similar chips, often 662306a36Sopenharmony_ci used for solid state file systems on embedded devices. This option 762306a36Sopenharmony_ci will provide the generic support for MTD drivers to register 862306a36Sopenharmony_ci themselves with the kernel and for potential users of MTD devices 962306a36Sopenharmony_ci to enumerate the devices which are present and obtain a handle on 1062306a36Sopenharmony_ci them. It will also allow you to select individual drivers for 1162306a36Sopenharmony_ci particular hardware and users of MTD devices. If unsure, say N. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciif MTD 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciconfig MTD_TESTS 1662306a36Sopenharmony_ci tristate "MTD tests support (DANGEROUS)" 1762306a36Sopenharmony_ci depends on m 1862306a36Sopenharmony_ci help 1962306a36Sopenharmony_ci This option includes various MTD tests into compilation. The tests 2062306a36Sopenharmony_ci should normally be compiled as kernel modules. The modules perform 2162306a36Sopenharmony_ci various checks and verifications when loaded. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci WARNING: some of the tests will ERASE entire MTD device which they 2462306a36Sopenharmony_ci test. Do not use these tests unless you really know what you do. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_cimenu "Partition parsers" 2762306a36Sopenharmony_cisource "drivers/mtd/parsers/Kconfig" 2862306a36Sopenharmony_ciendmenu 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_cicomment "User Modules And Translation Layers" 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci# 3362306a36Sopenharmony_ci# MTD block device support is select'ed if needed 3462306a36Sopenharmony_ci# 3562306a36Sopenharmony_ciconfig MTD_BLKDEVS 3662306a36Sopenharmony_ci tristate 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig MTD_BLOCK 3962306a36Sopenharmony_ci tristate "Caching block device access to MTD devices" 4062306a36Sopenharmony_ci depends on BLOCK 4162306a36Sopenharmony_ci select MTD_BLKDEVS 4262306a36Sopenharmony_ci help 4362306a36Sopenharmony_ci Although most flash chips have an erase size too large to be useful 4462306a36Sopenharmony_ci as block devices, it is possible to use MTD devices which are based 4562306a36Sopenharmony_ci on RAM chips in this manner. This block device is a user of MTD 4662306a36Sopenharmony_ci devices performing that function. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci Note that mounting a JFFS2 filesystem doesn't require using mtdblock. 4962306a36Sopenharmony_ci It's possible to mount a rootfs using the MTD device on the "root=" 5062306a36Sopenharmony_ci bootargs as "root=mtd2" or "root=mtd:name_of_device". 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci Later, it may be extended to perform read/erase/modify/write cycles 5362306a36Sopenharmony_ci on flash chips to emulate a smaller block size. Needless to say, 5462306a36Sopenharmony_ci this is very unsafe, but could be useful for file systems which are 5562306a36Sopenharmony_ci almost never written to. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci You do not need this option for use with the DiskOnChip devices. For 5862306a36Sopenharmony_ci those, enable NFTL support (CONFIG_NFTL) instead. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciconfig MTD_BLOCK_RO 6162306a36Sopenharmony_ci tristate "Readonly block device access to MTD devices" 6262306a36Sopenharmony_ci depends on MTD_BLOCK!=y && BLOCK 6362306a36Sopenharmony_ci select MTD_BLKDEVS 6462306a36Sopenharmony_ci help 6562306a36Sopenharmony_ci This allows you to mount read-only file systems (such as cramfs) 6662306a36Sopenharmony_ci from an MTD device, without the overhead (and danger) of the caching 6762306a36Sopenharmony_ci driver. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci You do not need this option for use with the DiskOnChip devices. For 7062306a36Sopenharmony_ci those, enable NFTL support (CONFIG_NFTL) instead. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_cicomment "Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK." 7362306a36Sopenharmony_ci depends on MTD_BLOCK || MTD_BLOCK_RO 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ciconfig FTL 7662306a36Sopenharmony_ci tristate "FTL (Flash Translation Layer) support" 7762306a36Sopenharmony_ci depends on BLOCK 7862306a36Sopenharmony_ci select MTD_BLKDEVS 7962306a36Sopenharmony_ci help 8062306a36Sopenharmony_ci This provides support for the original Flash Translation Layer which 8162306a36Sopenharmony_ci is part of the PCMCIA specification. It uses a kind of pseudo- 8262306a36Sopenharmony_ci file system on a flash device to emulate a block device with 8362306a36Sopenharmony_ci 512-byte sectors, on top of which you put a 'normal' file system. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci You may find that the algorithms used in this code are patented 8662306a36Sopenharmony_ci unless you live in the Free World where software patents aren't 8762306a36Sopenharmony_ci legal - in the USA you are only permitted to use this on PCMCIA 8862306a36Sopenharmony_ci hardware, although under the terms of the GPL you're obviously 8962306a36Sopenharmony_ci permitted to copy, modify and distribute the code as you wish. Just 9062306a36Sopenharmony_ci not use it. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciconfig NFTL 9362306a36Sopenharmony_ci tristate "NFTL (NAND Flash Translation Layer) support" 9462306a36Sopenharmony_ci depends on BLOCK 9562306a36Sopenharmony_ci select MTD_BLKDEVS 9662306a36Sopenharmony_ci help 9762306a36Sopenharmony_ci This provides support for the NAND Flash Translation Layer which is 9862306a36Sopenharmony_ci used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- 9962306a36Sopenharmony_ci file system on a flash device to emulate a block device with 10062306a36Sopenharmony_ci 512-byte sectors, on top of which you put a 'normal' file system. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci You may find that the algorithms used in this code are patented 10362306a36Sopenharmony_ci unless you live in the Free World where software patents aren't 10462306a36Sopenharmony_ci legal - in the USA you are only permitted to use this on DiskOnChip 10562306a36Sopenharmony_ci hardware, although under the terms of the GPL you're obviously 10662306a36Sopenharmony_ci permitted to copy, modify and distribute the code as you wish. Just 10762306a36Sopenharmony_ci not use it. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ciconfig NFTL_RW 11062306a36Sopenharmony_ci bool "Write support for NFTL" 11162306a36Sopenharmony_ci depends on NFTL 11262306a36Sopenharmony_ci help 11362306a36Sopenharmony_ci Support for writing to the NAND Flash Translation Layer, as used 11462306a36Sopenharmony_ci on the DiskOnChip. 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ciconfig INFTL 11762306a36Sopenharmony_ci tristate "INFTL (Inverse NAND Flash Translation Layer) support" 11862306a36Sopenharmony_ci depends on BLOCK 11962306a36Sopenharmony_ci select MTD_BLKDEVS 12062306a36Sopenharmony_ci help 12162306a36Sopenharmony_ci This provides support for the Inverse NAND Flash Translation 12262306a36Sopenharmony_ci Layer which is used on M-Systems' newer DiskOnChip devices. It 12362306a36Sopenharmony_ci uses a kind of pseudo-file system on a flash device to emulate 12462306a36Sopenharmony_ci a block device with 512-byte sectors, on top of which you put 12562306a36Sopenharmony_ci a 'normal' file system. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci You may find that the algorithms used in this code are patented 12862306a36Sopenharmony_ci unless you live in the Free World where software patents aren't 12962306a36Sopenharmony_ci legal - in the USA you are only permitted to use this on DiskOnChip 13062306a36Sopenharmony_ci hardware, although under the terms of the GPL you're obviously 13162306a36Sopenharmony_ci permitted to copy, modify and distribute the code as you wish. Just 13262306a36Sopenharmony_ci not use it. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciconfig RFD_FTL 13562306a36Sopenharmony_ci tristate "Resident Flash Disk (Flash Translation Layer) support" 13662306a36Sopenharmony_ci depends on BLOCK 13762306a36Sopenharmony_ci select MTD_BLKDEVS 13862306a36Sopenharmony_ci help 13962306a36Sopenharmony_ci This provides support for the flash translation layer known 14062306a36Sopenharmony_ci as the Resident Flash Disk (RFD), as used by the Embedded BIOS 14162306a36Sopenharmony_ci of General Software. There is a blurb at: 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci http://www.gensw.com/pages/prod/bios/rfd.htm 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ciconfig SSFDC 14662306a36Sopenharmony_ci tristate "NAND SSFDC (SmartMedia) read only translation layer" 14762306a36Sopenharmony_ci depends on BLOCK 14862306a36Sopenharmony_ci select MTD_BLKDEVS 14962306a36Sopenharmony_ci help 15062306a36Sopenharmony_ci This enables read only access to SmartMedia formatted NAND 15162306a36Sopenharmony_ci flash. You can mount it with FAT file system. 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ciconfig SM_FTL 15462306a36Sopenharmony_ci tristate "SmartMedia/xD new translation layer" 15562306a36Sopenharmony_ci depends on BLOCK 15662306a36Sopenharmony_ci select MTD_BLKDEVS 15762306a36Sopenharmony_ci select MTD_NAND_CORE 15862306a36Sopenharmony_ci select MTD_NAND_ECC_SW_HAMMING 15962306a36Sopenharmony_ci help 16062306a36Sopenharmony_ci This enables EXPERIMENTAL R/W support for SmartMedia/xD 16162306a36Sopenharmony_ci FTL (Flash translation layer). 16262306a36Sopenharmony_ci Write support is only lightly tested, therefore this driver 16362306a36Sopenharmony_ci isn't recommended to use with valuable data (anyway if you have 16462306a36Sopenharmony_ci valuable data, do backups regardless of software/hardware you 16562306a36Sopenharmony_ci use, because you never know what will eat your data...) 16662306a36Sopenharmony_ci If you only need R/O access, you can use older R/O driver 16762306a36Sopenharmony_ci (CONFIG_SSFDC) 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciconfig MTD_OOPS 17062306a36Sopenharmony_ci tristate "Log panic/oops to an MTD buffer" 17162306a36Sopenharmony_ci help 17262306a36Sopenharmony_ci This enables panic and oops messages to be logged to a circular 17362306a36Sopenharmony_ci buffer in a flash partition where it can be read back at some 17462306a36Sopenharmony_ci later point. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ciconfig MTD_PSTORE 17762306a36Sopenharmony_ci tristate "Log panic/oops to an MTD buffer based on pstore" 17862306a36Sopenharmony_ci depends on PSTORE_BLK 17962306a36Sopenharmony_ci help 18062306a36Sopenharmony_ci This enables panic and oops messages to be logged to a circular 18162306a36Sopenharmony_ci buffer in a flash partition where it can be read back as files after 18262306a36Sopenharmony_ci mounting pstore filesystem. 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci If unsure, say N. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ciconfig MTD_SWAP 18762306a36Sopenharmony_ci tristate "Swap on MTD device support" 18862306a36Sopenharmony_ci depends on MTD && SWAP 18962306a36Sopenharmony_ci select MTD_BLKDEVS 19062306a36Sopenharmony_ci help 19162306a36Sopenharmony_ci Provides volatile block device driver on top of mtd partition 19262306a36Sopenharmony_ci suitable for swapping. The mapping of written blocks is not saved. 19362306a36Sopenharmony_ci The driver provides wear leveling by storing erase counter into the 19462306a36Sopenharmony_ci OOB. 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ciconfig MTD_PARTITIONED_MASTER 19762306a36Sopenharmony_ci bool "Retain master device when partitioned" 19862306a36Sopenharmony_ci default n 19962306a36Sopenharmony_ci depends on MTD 20062306a36Sopenharmony_ci help 20162306a36Sopenharmony_ci For historical reasons, by default, either a master is present or 20262306a36Sopenharmony_ci several partitions are present, but not both. The concern was that 20362306a36Sopenharmony_ci data listed in multiple partitions was dangerous; however, SCSI does 20462306a36Sopenharmony_ci this and it is frequently useful for applications. This config option 20562306a36Sopenharmony_ci leaves the master in even if the device is partitioned. It also makes 20662306a36Sopenharmony_ci the parent of the partition device be the master device, rather than 20762306a36Sopenharmony_ci what lies behind the master. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_cisource "drivers/mtd/chips/Kconfig" 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_cisource "drivers/mtd/maps/Kconfig" 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_cisource "drivers/mtd/devices/Kconfig" 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_cisource "drivers/mtd/nand/Kconfig" 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_cisource "drivers/mtd/lpddr/Kconfig" 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_cisource "drivers/mtd/spi-nor/Kconfig" 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_cisource "drivers/mtd/ubi/Kconfig" 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_cisource "drivers/mtd/hyperbus/Kconfig" 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ciendif # MTD 226