Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / mtd / Kconfig
diff --git a/kernel/drivers/mtd/Kconfig b/kernel/drivers/mtd/Kconfig
new file mode 100644 (file)
index 0000000..a03ad29
--- /dev/null
@@ -0,0 +1,341 @@
+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
+       ---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
+       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.
+
+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