162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenu "Self-contained MTD device drivers" 362306a36Sopenharmony_ci depends on MTD!=n 462306a36Sopenharmony_ci depends on HAS_IOMEM 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig MTD_PMC551 762306a36Sopenharmony_ci tristate "Ramix PMC551 PCI Mezzanine RAM card support" 862306a36Sopenharmony_ci depends on PCI 962306a36Sopenharmony_ci help 1062306a36Sopenharmony_ci This provides a MTD device driver for the Ramix PMC551 RAM PCI card 1162306a36Sopenharmony_ci from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>. 1262306a36Sopenharmony_ci These devices come in memory configurations from 32M - 1G. If you 1362306a36Sopenharmony_ci have one, you probably want to enable this. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci If this driver is compiled as a module you get the ability to select 1662306a36Sopenharmony_ci the size of the aperture window pointing into the devices memory. 1762306a36Sopenharmony_ci What this means is that if you have a 1G card, normally the kernel 1862306a36Sopenharmony_ci will use a 1G memory map as its view of the device. As a module, 1962306a36Sopenharmony_ci you can select a 1M window into the memory and the driver will 2062306a36Sopenharmony_ci "slide" the window around the PMC551's memory. This was 2162306a36Sopenharmony_ci particularly useful on the 2.2 kernels on PPC architectures as there 2262306a36Sopenharmony_ci was limited kernel space to deal with. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciconfig MTD_PMC551_BUGFIX 2562306a36Sopenharmony_ci bool "PMC551 256M DRAM Bugfix" 2662306a36Sopenharmony_ci depends on MTD_PMC551 2762306a36Sopenharmony_ci help 2862306a36Sopenharmony_ci Some of Ramix's PMC551 boards with 256M configurations have invalid 2962306a36Sopenharmony_ci column and row mux values. This option will fix them, but will 3062306a36Sopenharmony_ci break other memory configurations. If unsure say N. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig MTD_PMC551_DEBUG 3362306a36Sopenharmony_ci bool "PMC551 Debugging" 3462306a36Sopenharmony_ci depends on MTD_PMC551 3562306a36Sopenharmony_ci help 3662306a36Sopenharmony_ci This option makes the PMC551 more verbose during its operation and 3762306a36Sopenharmony_ci is only really useful if you are developing on this driver or 3862306a36Sopenharmony_ci suspect a possible hardware or driver bug. If unsure say N. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciconfig MTD_MS02NV 4162306a36Sopenharmony_ci tristate "DEC MS02-NV NVRAM module support" 4262306a36Sopenharmony_ci depends on MACH_DECSTATION 4362306a36Sopenharmony_ci help 4462306a36Sopenharmony_ci This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery 4562306a36Sopenharmony_ci backed-up NVRAM module. The module was originally meant as an NFS 4662306a36Sopenharmony_ci accelerator. Say Y here if you have a DECstation 5000/2x0 or a 4762306a36Sopenharmony_ci DECsystem 5900 equipped with such a module. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci If you want to compile this driver as a module ( = code which can be 5062306a36Sopenharmony_ci inserted in and removed from the running kernel whenever you want), 5162306a36Sopenharmony_ci say M here and read <file:Documentation/kbuild/modules.rst>. 5262306a36Sopenharmony_ci The module will be called ms02-nv. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconfig MTD_DATAFLASH 5562306a36Sopenharmony_ci tristate "Support for AT45xxx DataFlash" 5662306a36Sopenharmony_ci depends on SPI_MASTER 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci This enables access to AT45xxx DataFlash chips, using SPI. 5962306a36Sopenharmony_ci Sometimes DataFlash chips are packaged inside MMC-format 6062306a36Sopenharmony_ci cards; at this writing, the MMC stack won't handle those. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciconfig MTD_DATAFLASH_WRITE_VERIFY 6362306a36Sopenharmony_ci bool "Verify DataFlash page writes" 6462306a36Sopenharmony_ci depends on MTD_DATAFLASH 6562306a36Sopenharmony_ci help 6662306a36Sopenharmony_ci This adds an extra check when data is written to the flash. 6762306a36Sopenharmony_ci It may help if you are verifying chip setup (timings etc) on 6862306a36Sopenharmony_ci your board. There is a rare possibility that even though the 6962306a36Sopenharmony_ci device thinks the write was successful, a bit could have been 7062306a36Sopenharmony_ci flipped accidentally due to device wear or something else. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciconfig MTD_DATAFLASH_OTP 7362306a36Sopenharmony_ci bool "DataFlash OTP support (Security Register)" 7462306a36Sopenharmony_ci depends on MTD_DATAFLASH 7562306a36Sopenharmony_ci help 7662306a36Sopenharmony_ci Newer DataFlash chips (revisions C and D) support 128 bytes of 7762306a36Sopenharmony_ci one-time-programmable (OTP) data. The first half may be written 7862306a36Sopenharmony_ci (once) with up to 64 bytes of data, such as a serial number or 7962306a36Sopenharmony_ci other key product data. The second half is programmed with a 8062306a36Sopenharmony_ci unique-to-each-chip bit pattern at the factory. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciconfig MTD_MCHP23K256 8362306a36Sopenharmony_ci tristate "Microchip 23K256 SRAM" 8462306a36Sopenharmony_ci depends on SPI_MASTER 8562306a36Sopenharmony_ci help 8662306a36Sopenharmony_ci This enables access to Microchip 23K256 SRAM chips, using SPI. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci Set up your spi devices with the right board-specific 8962306a36Sopenharmony_ci platform data, or a device tree description if you want to 9062306a36Sopenharmony_ci specify device partitioning 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciconfig MTD_MCHP48L640 9362306a36Sopenharmony_ci tristate "Microchip 48L640 EERAM" 9462306a36Sopenharmony_ci depends on SPI_MASTER 9562306a36Sopenharmony_ci help 9662306a36Sopenharmony_ci This enables access to Microchip 48L640 EERAM chips, using SPI. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciconfig MTD_SPEAR_SMI 9962306a36Sopenharmony_ci tristate "SPEAR MTD NOR Support through SMI controller" 10062306a36Sopenharmony_ci depends on PLAT_SPEAR || COMPILE_TEST 10162306a36Sopenharmony_ci default y 10262306a36Sopenharmony_ci help 10362306a36Sopenharmony_ci This enable SNOR support on SPEAR platforms using SMI controller 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciconfig MTD_SST25L 10662306a36Sopenharmony_ci tristate "Support SST25L (non JEDEC) SPI Flash chips" 10762306a36Sopenharmony_ci depends on SPI_MASTER 10862306a36Sopenharmony_ci help 10962306a36Sopenharmony_ci This enables access to the non JEDEC SST25L SPI flash chips, used 11062306a36Sopenharmony_ci for program and data storage. 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci Set up your spi devices with the right board-specific platform data, 11362306a36Sopenharmony_ci if you want to specify device partitioning. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciconfig MTD_BCM47XXSFLASH 11662306a36Sopenharmony_ci tristate "Support for serial flash on BCMA bus" 11762306a36Sopenharmony_ci depends on BCMA_SFLASH && (MIPS || ARM) 11862306a36Sopenharmony_ci help 11962306a36Sopenharmony_ci BCMA bus can have various flash memories attached, they are 12062306a36Sopenharmony_ci registered by bcma as platform devices. This enables driver for 12162306a36Sopenharmony_ci serial flash memories. 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ciconfig MTD_SLRAM 12462306a36Sopenharmony_ci tristate "Uncached system RAM" 12562306a36Sopenharmony_ci help 12662306a36Sopenharmony_ci If your CPU cannot cache all of the physical memory in your machine, 12762306a36Sopenharmony_ci you can still use it for storage or swap by using this driver to 12862306a36Sopenharmony_ci present it to the system as a Memory Technology Device. 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ciconfig MTD_PHRAM 13162306a36Sopenharmony_ci tristate "Physical system RAM" 13262306a36Sopenharmony_ci help 13362306a36Sopenharmony_ci This is a re-implementation of the slram driver above. 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci Use this driver to access physical memory that the kernel proper 13662306a36Sopenharmony_ci doesn't have access to, memory beyond the mem=xxx limit, nvram, 13762306a36Sopenharmony_ci memory on the video card, etc... 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciconfig MTD_MTDRAM 14062306a36Sopenharmony_ci tristate "Test driver using RAM" 14162306a36Sopenharmony_ci help 14262306a36Sopenharmony_ci This enables a test MTD device driver which uses vmalloc() to 14362306a36Sopenharmony_ci provide storage. You probably want to say 'N' unless you're 14462306a36Sopenharmony_ci testing stuff. 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciconfig MTDRAM_TOTAL_SIZE 14762306a36Sopenharmony_ci int "MTDRAM device size in KiB" 14862306a36Sopenharmony_ci depends on MTD_MTDRAM 14962306a36Sopenharmony_ci default "4096" 15062306a36Sopenharmony_ci help 15162306a36Sopenharmony_ci This allows you to configure the total size of the MTD device 15262306a36Sopenharmony_ci emulated by the MTDRAM driver. If the MTDRAM driver is built 15362306a36Sopenharmony_ci as a module, it is also possible to specify this as a parameter when 15462306a36Sopenharmony_ci loading the module. 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ciconfig MTDRAM_ERASE_SIZE 15762306a36Sopenharmony_ci int "MTDRAM erase block size in KiB" 15862306a36Sopenharmony_ci depends on MTD_MTDRAM 15962306a36Sopenharmony_ci default "128" 16062306a36Sopenharmony_ci help 16162306a36Sopenharmony_ci This allows you to configure the size of the erase blocks in the 16262306a36Sopenharmony_ci device emulated by the MTDRAM driver. If the MTDRAM driver is built 16362306a36Sopenharmony_ci as a module, it is also possible to specify this as a parameter when 16462306a36Sopenharmony_ci loading the module. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciconfig MTD_BLOCK2MTD 16762306a36Sopenharmony_ci tristate "MTD using block device" 16862306a36Sopenharmony_ci depends on BLOCK 16962306a36Sopenharmony_ci help 17062306a36Sopenharmony_ci This driver allows a block device to appear as an MTD. It would 17162306a36Sopenharmony_ci generally be used in the following cases: 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci Using Compact Flash as an MTD, these usually present themselves to 17462306a36Sopenharmony_ci the system as an ATA drive. 17562306a36Sopenharmony_ci Testing MTD users (eg JFFS2) on large media and media that might 17662306a36Sopenharmony_ci be removed during a write (using the floppy drive). 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig MTD_POWERNV_FLASH 17962306a36Sopenharmony_ci tristate "powernv flash MTD driver" 18062306a36Sopenharmony_ci depends on PPC_POWERNV 18162306a36Sopenharmony_ci help 18262306a36Sopenharmony_ci This provides an MTD device to access flash on powernv OPAL 18362306a36Sopenharmony_ci platforms from Linux. This device abstracts away the 18462306a36Sopenharmony_ci firmware interface for flash access. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_cicomment "Disk-On-Chip Device Drivers" 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ciconfig MTD_DOCG3 18962306a36Sopenharmony_ci tristate "M-Systems Disk-On-Chip G3" 19062306a36Sopenharmony_ci select BCH 19162306a36Sopenharmony_ci select BCH_CONST_PARAMS if !MTD_NAND_ECC_SW_BCH 19262306a36Sopenharmony_ci select BITREVERSE 19362306a36Sopenharmony_ci help 19462306a36Sopenharmony_ci This provides an MTD device driver for the M-Systems DiskOnChip 19562306a36Sopenharmony_ci G3 devices. 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci The driver provides access to G3 DiskOnChip, distributed by 19862306a36Sopenharmony_ci M-Systems and now Sandisk. The support is very experimental, 19962306a36Sopenharmony_ci and doesn't give access to any write operations. 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ciconfig MTD_ST_SPI_FSM 20262306a36Sopenharmony_ci tristate "ST Microelectronics SPI FSM Serial Flash Controller" 20362306a36Sopenharmony_ci depends on ARCH_STI 20462306a36Sopenharmony_ci help 20562306a36Sopenharmony_ci This provides an MTD device driver for the ST Microelectronics 20662306a36Sopenharmony_ci SPI Fast Sequence Mode (FSM) Serial Flash Controller and support 20762306a36Sopenharmony_ci for a subset of connected Serial Flash devices. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ciif MTD_DOCG3 21062306a36Sopenharmony_ciconfig BCH_CONST_M 21162306a36Sopenharmony_ci default 14 21262306a36Sopenharmony_ciconfig BCH_CONST_T 21362306a36Sopenharmony_ci default 4 21462306a36Sopenharmony_ciendif 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ciendmenu 217