mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 08:34:20 +08:00
2aa3b8e1de
This moves the AFS (ARM Firmware Suite) partition parser for NOR flash down into the parsers subdirectory. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Richard Weinberger <richard@nod.at>
278 lines
9.3 KiB
Plaintext
278 lines
9.3 KiB
Plaintext
menuconfig MTD
|
|
tristate "Memory Technology Device (MTD) support"
|
|
imply NVMEM
|
|
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_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_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
|
|
select MTD_PARSER_IMAGETAG
|
|
help
|
|
This provides partition 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_SW_HAMMING
|
|
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/lpddr/Kconfig"
|
|
|
|
source "drivers/mtd/spi-nor/Kconfig"
|
|
|
|
source "drivers/mtd/ubi/Kconfig"
|
|
|
|
endif # MTD
|