0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "Self-contained MTD device drivers"
0003 depends on MTD!=n
0004 depends on HAS_IOMEM
0005
0006 config MTD_PMC551
0007 tristate "Ramix PMC551 PCI Mezzanine RAM card support"
0008 depends on PCI
0009 help
0010 This provides a MTD device driver for the Ramix PMC551 RAM PCI card
0011 from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>.
0012 These devices come in memory configurations from 32M - 1G. If you
0013 have one, you probably want to enable this.
0014
0015 If this driver is compiled as a module you get the ability to select
0016 the size of the aperture window pointing into the devices memory.
0017 What this means is that if you have a 1G card, normally the kernel
0018 will use a 1G memory map as its view of the device. As a module,
0019 you can select a 1M window into the memory and the driver will
0020 "slide" the window around the PMC551's memory. This was
0021 particularly useful on the 2.2 kernels on PPC architectures as there
0022 was limited kernel space to deal with.
0023
0024 config MTD_PMC551_BUGFIX
0025 bool "PMC551 256M DRAM Bugfix"
0026 depends on MTD_PMC551
0027 help
0028 Some of Ramix's PMC551 boards with 256M configurations have invalid
0029 column and row mux values. This option will fix them, but will
0030 break other memory configurations. If unsure say N.
0031
0032 config MTD_PMC551_DEBUG
0033 bool "PMC551 Debugging"
0034 depends on MTD_PMC551
0035 help
0036 This option makes the PMC551 more verbose during its operation and
0037 is only really useful if you are developing on this driver or
0038 suspect a possible hardware or driver bug. If unsure say N.
0039
0040 config MTD_MS02NV
0041 tristate "DEC MS02-NV NVRAM module support"
0042 depends on MACH_DECSTATION
0043 help
0044 This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery
0045 backed-up NVRAM module. The module was originally meant as an NFS
0046 accelerator. Say Y here if you have a DECstation 5000/2x0 or a
0047 DECsystem 5900 equipped with such a module.
0048
0049 If you want to compile this driver as a module ( = code which can be
0050 inserted in and removed from the running kernel whenever you want),
0051 say M here and read <file:Documentation/kbuild/modules.rst>.
0052 The module will be called ms02-nv.
0053
0054 config MTD_DATAFLASH
0055 tristate "Support for AT45xxx DataFlash"
0056 depends on SPI_MASTER
0057 help
0058 This enables access to AT45xxx DataFlash chips, using SPI.
0059 Sometimes DataFlash chips are packaged inside MMC-format
0060 cards; at this writing, the MMC stack won't handle those.
0061
0062 config MTD_DATAFLASH_WRITE_VERIFY
0063 bool "Verify DataFlash page writes"
0064 depends on MTD_DATAFLASH
0065 help
0066 This adds an extra check when data is written to the flash.
0067 It may help if you are verifying chip setup (timings etc) on
0068 your board. There is a rare possibility that even though the
0069 device thinks the write was successful, a bit could have been
0070 flipped accidentally due to device wear or something else.
0071
0072 config MTD_DATAFLASH_OTP
0073 bool "DataFlash OTP support (Security Register)"
0074 depends on MTD_DATAFLASH
0075 help
0076 Newer DataFlash chips (revisions C and D) support 128 bytes of
0077 one-time-programmable (OTP) data. The first half may be written
0078 (once) with up to 64 bytes of data, such as a serial number or
0079 other key product data. The second half is programmed with a
0080 unique-to-each-chip bit pattern at the factory.
0081
0082 config MTD_MCHP23K256
0083 tristate "Microchip 23K256 SRAM"
0084 depends on SPI_MASTER
0085 help
0086 This enables access to Microchip 23K256 SRAM chips, using SPI.
0087
0088 Set up your spi devices with the right board-specific
0089 platform data, or a device tree description if you want to
0090 specify device partitioning
0091
0092 config MTD_MCHP48L640
0093 tristate "Microchip 48L640 EERAM"
0094 depends on SPI_MASTER
0095 help
0096 This enables access to Microchip 48L640 EERAM chips, using SPI.
0097
0098 config MTD_SPEAR_SMI
0099 tristate "SPEAR MTD NOR Support through SMI controller"
0100 depends on PLAT_SPEAR || COMPILE_TEST
0101 default y
0102 help
0103 This enable SNOR support on SPEAR platforms using SMI controller
0104
0105 config MTD_SST25L
0106 tristate "Support SST25L (non JEDEC) SPI Flash chips"
0107 depends on SPI_MASTER
0108 help
0109 This enables access to the non JEDEC SST25L SPI flash chips, used
0110 for program and data storage.
0111
0112 Set up your spi devices with the right board-specific platform data,
0113 if you want to specify device partitioning.
0114
0115 config MTD_BCM47XXSFLASH
0116 tristate "Support for serial flash on BCMA bus"
0117 depends on BCMA_SFLASH && (MIPS || ARM)
0118 help
0119 BCMA bus can have various flash memories attached, they are
0120 registered by bcma as platform devices. This enables driver for
0121 serial flash memories.
0122
0123 config MTD_SLRAM
0124 tristate "Uncached system RAM"
0125 help
0126 If your CPU cannot cache all of the physical memory in your machine,
0127 you can still use it for storage or swap by using this driver to
0128 present it to the system as a Memory Technology Device.
0129
0130 config MTD_PHRAM
0131 tristate "Physical system RAM"
0132 help
0133 This is a re-implementation of the slram driver above.
0134
0135 Use this driver to access physical memory that the kernel proper
0136 doesn't have access to, memory beyond the mem=xxx limit, nvram,
0137 memory on the video card, etc...
0138
0139 config MTD_LART
0140 tristate "28F160xx flash driver for LART"
0141 depends on SA1100_LART
0142 help
0143 This enables the flash driver for LART. Please note that you do
0144 not need any mapping/chip driver for LART. This one does it all
0145 for you, so go disable all of those if you enabled some of them (:
0146
0147 config MTD_MTDRAM
0148 tristate "Test driver using RAM"
0149 help
0150 This enables a test MTD device driver which uses vmalloc() to
0151 provide storage. You probably want to say 'N' unless you're
0152 testing stuff.
0153
0154 config MTDRAM_TOTAL_SIZE
0155 int "MTDRAM device size in KiB"
0156 depends on MTD_MTDRAM
0157 default "4096"
0158 help
0159 This allows you to configure the total size of the MTD device
0160 emulated by the MTDRAM driver. If the MTDRAM driver is built
0161 as a module, it is also possible to specify this as a parameter when
0162 loading the module.
0163
0164 config MTDRAM_ERASE_SIZE
0165 int "MTDRAM erase block size in KiB"
0166 depends on MTD_MTDRAM
0167 default "128"
0168 help
0169 This allows you to configure the size of the erase blocks in the
0170 device emulated by the MTDRAM driver. If the MTDRAM driver is built
0171 as a module, it is also possible to specify this as a parameter when
0172 loading the module.
0173
0174 config MTD_BLOCK2MTD
0175 tristate "MTD using block device"
0176 depends on BLOCK
0177 help
0178 This driver allows a block device to appear as an MTD. It would
0179 generally be used in the following cases:
0180
0181 Using Compact Flash as an MTD, these usually present themselves to
0182 the system as an ATA drive.
0183 Testing MTD users (eg JFFS2) on large media and media that might
0184 be removed during a write (using the floppy drive).
0185
0186 config MTD_POWERNV_FLASH
0187 tristate "powernv flash MTD driver"
0188 depends on PPC_POWERNV
0189 help
0190 This provides an MTD device to access flash on powernv OPAL
0191 platforms from Linux. This device abstracts away the
0192 firmware interface for flash access.
0193
0194 comment "Disk-On-Chip Device Drivers"
0195
0196 config MTD_DOCG3
0197 tristate "M-Systems Disk-On-Chip G3"
0198 select BCH
0199 select BCH_CONST_PARAMS if !MTD_NAND_ECC_SW_BCH
0200 select BITREVERSE
0201 help
0202 This provides an MTD device driver for the M-Systems DiskOnChip
0203 G3 devices.
0204
0205 The driver provides access to G3 DiskOnChip, distributed by
0206 M-Systems and now Sandisk. The support is very experimental,
0207 and doesn't give access to any write operations.
0208
0209 config MTD_ST_SPI_FSM
0210 tristate "ST Microelectronics SPI FSM Serial Flash Controller"
0211 depends on ARCH_STI
0212 help
0213 This provides an MTD device driver for the ST Microelectronics
0214 SPI Fast Sequence Mode (FSM) Serial Flash Controller and support
0215 for a subset of connected Serial Flash devices.
0216
0217 if MTD_DOCG3
0218 config BCH_CONST_M
0219 default 14
0220 config BCH_CONST_T
0221 default 4
0222 endif
0223
0224 endmenu