123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- menuconfig MTD
- tristate "Memory Technology Device (MTD) support"
- depends on GENERIC_IO
- help
- Memory Technology Devices are flash, RAM and similar chips, often
- used for solid state file systems on embedded devices. This option
- will provide the generic support for MTD drivers to register
- themselves with the kernel and for potential users of MTD devices
- to enumerate the devices which are present and obtain a handle on
- them. It will also allow you to select individual drivers for
- particular hardware and users of MTD devices. If unsure, say N.
- if MTD
- config MTD_TESTS
- tristate "MTD tests support (DANGEROUS)"
- depends on m
- help
- This option includes various MTD tests into compilation. The tests
- should normally be compiled as kernel modules. The modules perform
- various checks and verifications when loaded.
- WARNING: some of the tests will ERASE entire MTD device which they
- test. Do not use these tests unless you really know what you do.
- config MTD_REDBOOT_PARTS
- tristate "RedBoot partition table parsing"
- ---help---
- RedBoot is a ROM monitor and bootloader which deals with multiple
- 'images' in flash devices by putting a table one of the erase
- blocks on the device, similar to a partition table, which gives
- the offsets, lengths and names of all the images stored in the
- flash.
- If you need code which can detect and parse this table, and register
- MTD 'partitions' corresponding to each image in the table, enable
- this option.
- You will still need the parsing functions to be called by the driver
- for your particular device. It won't happen automatically. The
- SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
- example.
- if MTD_REDBOOT_PARTS
- config MTD_REDBOOT_DIRECTORY_BLOCK
- int "Location of RedBoot partition table"
- default "-1"
- ---help---
- This option is the Linux counterpart to the
- CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time
- option.
- The option specifies which Flash sectors holds the RedBoot
- partition table. A zero or positive value gives an absolute
- erase block number. A negative value specifies a number of
- sectors before the end of the device.
- For example "2" means block number 2, "-1" means the last
- block and "-2" means the penultimate block.
- config MTD_REDBOOT_PARTS_UNALLOCATED
- bool "Include unallocated flash regions"
- help
- If you need to register each unallocated flash region as a MTD
- 'partition', enable this option.
- config MTD_REDBOOT_PARTS_READONLY
- bool "Force read-only for RedBoot system images"
- help
- If you need to force read-only for 'RedBoot', 'RedBoot Config' and
- 'FIS directory' images, enable this option.
- endif # MTD_REDBOOT_PARTS
- config MTD_CMDLINE_PARTS
- tristate "Command line partition table parsing"
- depends on MTD
- ---help---
- Allow generic configuration of the MTD partition tables via the kernel
- command line. Multiple flash resources are supported for hardware where
- different kinds of flash memory are available.
- You will still need the parsing functions to be called by the driver
- for your particular device. It won't happen automatically. The
- SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
- example.
- The format for the command line is as follows:
- mtdparts=<mtddef>[;<mtddef]
- <mtddef> := <mtd-id>:<partdef>[,<partdef>]
- <partdef> := <size>[@offset][<name>][ro]
- <mtd-id> := unique id used in mapping driver/device
- <size> := standard linux memsize OR "-" to denote all
- remaining space
- <name> := (NAME)
- Due to the way Linux handles the command line, no spaces are
- allowed in the partition definition, including mtd id's and partition
- names.
- Examples:
- 1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
- mtdparts=sa1100:-
- Same flash, but 2 named partitions, the first one being read-only:
- mtdparts=sa1100:256k(ARMboot)ro,-(root)
- If unsure, say 'N'.
- config MTD_AFS_PARTS
- tristate "ARM Firmware Suite partition parsing"
- depends on (ARM || ARM64)
- ---help---
- The ARM Firmware Suite allows the user to divide flash devices into
- multiple 'images'. Each such image has a header containing its name
- and offset/size etc.
- If you need code which can detect and parse these tables, and
- register MTD 'partitions' corresponding to each image detected,
- enable this option.
- You will still need the parsing functions to be called by the driver
- for your particular device. It won't happen automatically. The
- 'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example.
- config MTD_OF_PARTS
- tristate "OpenFirmware partitioning information support"
- default y
- depends on OF
- help
- This provides a partition parsing function which derives
- the partition map from the children of the flash node,
- as described in Documentation/devicetree/bindings/mtd/partition.txt.
- config MTD_AR7_PARTS
- tristate "TI AR7 partitioning support"
- ---help---
- TI AR7 partitioning support
- config MTD_BCM63XX_PARTS
- tristate "BCM63XX CFE partitioning support"
- depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
- select CRC32
- help
- This provides partions parsing for BCM63xx devices with CFE
- bootloaders.
- config MTD_BCM47XX_PARTS
- tristate "BCM47XX partitioning support"
- depends on BCM47XX || ARCH_BCM_5301X
- help
- This provides partitions parser for devices based on BCM47xx
- boards.
- menu "Partition parsers"
- source "drivers/mtd/parsers/Kconfig"
- endmenu
- comment "User Modules And Translation Layers"
- #
- # MTD block device support is select'ed if needed
- #
- config MTD_BLKDEVS
- tristate
- config MTD_BLOCK
- tristate "Caching block device access to MTD devices"
- depends on BLOCK
- select MTD_BLKDEVS
- ---help---
- Although most flash chips have an erase size too large to be useful
- as block devices, it is possible to use MTD devices which are based
- on RAM chips in this manner. This block device is a user of MTD
- devices performing that function.
- At the moment, it is also required for the Journalling Flash File
- System(s) to obtain a handle on the MTD device when it's mounted
- (although JFFS and JFFS2 don't actually use any of the functionality
- of the mtdblock device).
- Later, it may be extended to perform read/erase/modify/write cycles
- on flash chips to emulate a smaller block size. Needless to say,
- this is very unsafe, but could be useful for file systems which are
- almost never written to.
- You do not need this option for use with the DiskOnChip devices. For
- those, enable NFTL support (CONFIG_NFTL) instead.
- config MTD_BLOCK_RO
- tristate "Readonly block device access to MTD devices"
- depends on MTD_BLOCK!=y && BLOCK
- select MTD_BLKDEVS
- help
- This allows you to mount read-only file systems (such as cramfs)
- from an MTD device, without the overhead (and danger) of the caching
- driver.
- You do not need this option for use with the DiskOnChip devices. For
- those, enable NFTL support (CONFIG_NFTL) instead.
- config FTL
- tristate "FTL (Flash Translation Layer) support"
- depends on BLOCK
- select MTD_BLKDEVS
- ---help---
- This provides support for the original Flash Translation Layer which
- is part of the PCMCIA specification. It uses a kind of pseudo-
- file system on a flash device to emulate a block device with
- 512-byte sectors, on top of which you put a 'normal' file system.
- You may find that the algorithms used in this code are patented
- unless you live in the Free World where software patents aren't
- legal - in the USA you are only permitted to use this on PCMCIA
- hardware, although under the terms of the GPL you're obviously
- permitted to copy, modify and distribute the code as you wish. Just
- not use it.
- config NFTL
- tristate "NFTL (NAND Flash Translation Layer) support"
- depends on BLOCK
- select MTD_BLKDEVS
- ---help---
- This provides support for the NAND Flash Translation Layer which is
- used on M-Systems' DiskOnChip devices. It uses a kind of pseudo-
- file system on a flash device to emulate a block device with
- 512-byte sectors, on top of which you put a 'normal' file system.
- You may find that the algorithms used in this code are patented
- unless you live in the Free World where software patents aren't
- legal - in the USA you are only permitted to use this on DiskOnChip
- hardware, although under the terms of the GPL you're obviously
- permitted to copy, modify and distribute the code as you wish. Just
- not use it.
- config NFTL_RW
- bool "Write support for NFTL"
- depends on NFTL
- help
- Support for writing to the NAND Flash Translation Layer, as used
- on the DiskOnChip.
- config INFTL
- tristate "INFTL (Inverse NAND Flash Translation Layer) support"
- depends on BLOCK
- select MTD_BLKDEVS
- ---help---
- This provides support for the Inverse NAND Flash Translation
- Layer which is used on M-Systems' newer DiskOnChip devices. It
- uses a kind of pseudo-file system on a flash device to emulate
- a block device with 512-byte sectors, on top of which you put
- a 'normal' file system.
- You may find that the algorithms used in this code are patented
- unless you live in the Free World where software patents aren't
- legal - in the USA you are only permitted to use this on DiskOnChip
- hardware, although under the terms of the GPL you're obviously
- permitted to copy, modify and distribute the code as you wish. Just
- not use it.
- config RFD_FTL
- tristate "Resident Flash Disk (Flash Translation Layer) support"
- depends on BLOCK
- select MTD_BLKDEVS
- ---help---
- This provides support for the flash translation layer known
- as the Resident Flash Disk (RFD), as used by the Embedded BIOS
- of General Software. There is a blurb at:
- http://www.gensw.com/pages/prod/bios/rfd.htm
- config SSFDC
- tristate "NAND SSFDC (SmartMedia) read only translation layer"
- depends on BLOCK
- select MTD_BLKDEVS
- help
- This enables read only access to SmartMedia formatted NAND
- flash. You can mount it with FAT file system.
- config SM_FTL
- tristate "SmartMedia/xD new translation layer"
- depends on BLOCK
- select MTD_BLKDEVS
- select MTD_NAND_ECC
- help
- This enables EXPERIMENTAL R/W support for SmartMedia/xD
- FTL (Flash translation layer).
- Write support is only lightly tested, therefore this driver
- isn't recommended to use with valuable data (anyway if you have
- valuable data, do backups regardless of software/hardware you
- use, because you never know what will eat your data...)
- If you only need R/O access, you can use older R/O driver
- (CONFIG_SSFDC)
- config MTD_OOPS
- tristate "Log panic/oops to an MTD buffer"
- help
- This enables panic and oops messages to be logged to a circular
- buffer in a flash partition where it can be read back at some
- later point.
- config MTD_SWAP
- tristate "Swap on MTD device support"
- depends on MTD && SWAP
- select MTD_BLKDEVS
- help
- Provides volatile block device driver on top of mtd partition
- suitable for swapping. The mapping of written blocks is not saved.
- The driver provides wear leveling by storing erase counter into the
- OOB.
- config MTD_PARTITIONED_MASTER
- bool "Retain master device when partitioned"
- default n
- depends on MTD
- help
- For historical reasons, by default, either a master is present or
- several partitions are present, but not both. The concern was that
- data listed in multiple partitions was dangerous; however, SCSI does
- this and it is frequently useful for applications. This config option
- leaves the master in even if the device is partitioned. It also makes
- the parent of the partition device be the master device, rather than
- what lies behind the master.
- source "drivers/mtd/chips/Kconfig"
- source "drivers/mtd/maps/Kconfig"
- source "drivers/mtd/devices/Kconfig"
- source "drivers/mtd/nand/Kconfig"
- source "drivers/mtd/onenand/Kconfig"
- source "drivers/mtd/lpddr/Kconfig"
- source "drivers/mtd/spi-nor/Kconfig"
- source "drivers/mtd/ubi/Kconfig"
- endif # MTD
|