18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenu "Self-contained MTD device drivers" 38c2ecf20Sopenharmony_ci depends on MTD!=n 48c2ecf20Sopenharmony_ci depends on HAS_IOMEM 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciconfig MTD_PMC551 78c2ecf20Sopenharmony_ci tristate "Ramix PMC551 PCI Mezzanine RAM card support" 88c2ecf20Sopenharmony_ci depends on PCI 98c2ecf20Sopenharmony_ci help 108c2ecf20Sopenharmony_ci This provides a MTD device driver for the Ramix PMC551 RAM PCI card 118c2ecf20Sopenharmony_ci from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>. 128c2ecf20Sopenharmony_ci These devices come in memory configurations from 32M - 1G. If you 138c2ecf20Sopenharmony_ci have one, you probably want to enable this. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci If this driver is compiled as a module you get the ability to select 168c2ecf20Sopenharmony_ci the size of the aperture window pointing into the devices memory. 178c2ecf20Sopenharmony_ci What this means is that if you have a 1G card, normally the kernel 188c2ecf20Sopenharmony_ci will use a 1G memory map as its view of the device. As a module, 198c2ecf20Sopenharmony_ci you can select a 1M window into the memory and the driver will 208c2ecf20Sopenharmony_ci "slide" the window around the PMC551's memory. This was 218c2ecf20Sopenharmony_ci particularly useful on the 2.2 kernels on PPC architectures as there 228c2ecf20Sopenharmony_ci was limited kernel space to deal with. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciconfig MTD_PMC551_BUGFIX 258c2ecf20Sopenharmony_ci bool "PMC551 256M DRAM Bugfix" 268c2ecf20Sopenharmony_ci depends on MTD_PMC551 278c2ecf20Sopenharmony_ci help 288c2ecf20Sopenharmony_ci Some of Ramix's PMC551 boards with 256M configurations have invalid 298c2ecf20Sopenharmony_ci column and row mux values. This option will fix them, but will 308c2ecf20Sopenharmony_ci break other memory configurations. If unsure say N. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig MTD_PMC551_DEBUG 338c2ecf20Sopenharmony_ci bool "PMC551 Debugging" 348c2ecf20Sopenharmony_ci depends on MTD_PMC551 358c2ecf20Sopenharmony_ci help 368c2ecf20Sopenharmony_ci This option makes the PMC551 more verbose during its operation and 378c2ecf20Sopenharmony_ci is only really useful if you are developing on this driver or 388c2ecf20Sopenharmony_ci suspect a possible hardware or driver bug. If unsure say N. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciconfig MTD_MS02NV 418c2ecf20Sopenharmony_ci tristate "DEC MS02-NV NVRAM module support" 428c2ecf20Sopenharmony_ci depends on MACH_DECSTATION 438c2ecf20Sopenharmony_ci help 448c2ecf20Sopenharmony_ci This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery 458c2ecf20Sopenharmony_ci backed-up NVRAM module. The module was originally meant as an NFS 468c2ecf20Sopenharmony_ci accelerator. Say Y here if you have a DECstation 5000/2x0 or a 478c2ecf20Sopenharmony_ci DECsystem 5900 equipped with such a module. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci If you want to compile this driver as a module ( = code which can be 508c2ecf20Sopenharmony_ci inserted in and removed from the running kernel whenever you want), 518c2ecf20Sopenharmony_ci say M here and read <file:Documentation/kbuild/modules.rst>. 528c2ecf20Sopenharmony_ci The module will be called ms02-nv. 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciconfig MTD_DATAFLASH 558c2ecf20Sopenharmony_ci tristate "Support for AT45xxx DataFlash" 568c2ecf20Sopenharmony_ci depends on SPI_MASTER 578c2ecf20Sopenharmony_ci help 588c2ecf20Sopenharmony_ci This enables access to AT45xxx DataFlash chips, using SPI. 598c2ecf20Sopenharmony_ci Sometimes DataFlash chips are packaged inside MMC-format 608c2ecf20Sopenharmony_ci cards; at this writing, the MMC stack won't handle those. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciconfig MTD_DATAFLASH_WRITE_VERIFY 638c2ecf20Sopenharmony_ci bool "Verify DataFlash page writes" 648c2ecf20Sopenharmony_ci depends on MTD_DATAFLASH 658c2ecf20Sopenharmony_ci help 668c2ecf20Sopenharmony_ci This adds an extra check when data is written to the flash. 678c2ecf20Sopenharmony_ci It may help if you are verifying chip setup (timings etc) on 688c2ecf20Sopenharmony_ci your board. There is a rare possibility that even though the 698c2ecf20Sopenharmony_ci device thinks the write was successful, a bit could have been 708c2ecf20Sopenharmony_ci flipped accidentally due to device wear or something else. 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ciconfig MTD_DATAFLASH_OTP 738c2ecf20Sopenharmony_ci bool "DataFlash OTP support (Security Register)" 748c2ecf20Sopenharmony_ci depends on MTD_DATAFLASH 758c2ecf20Sopenharmony_ci help 768c2ecf20Sopenharmony_ci Newer DataFlash chips (revisions C and D) support 128 bytes of 778c2ecf20Sopenharmony_ci one-time-programmable (OTP) data. The first half may be written 788c2ecf20Sopenharmony_ci (once) with up to 64 bytes of data, such as a serial number or 798c2ecf20Sopenharmony_ci other key product data. The second half is programmed with a 808c2ecf20Sopenharmony_ci unique-to-each-chip bit pattern at the factory. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciconfig MTD_MCHP23K256 838c2ecf20Sopenharmony_ci tristate "Microchip 23K256 SRAM" 848c2ecf20Sopenharmony_ci depends on SPI_MASTER 858c2ecf20Sopenharmony_ci help 868c2ecf20Sopenharmony_ci This enables access to Microchip 23K256 SRAM chips, using SPI. 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci Set up your spi devices with the right board-specific 898c2ecf20Sopenharmony_ci platform data, or a device tree description if you want to 908c2ecf20Sopenharmony_ci specify device partitioning 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciconfig MTD_SPEAR_SMI 938c2ecf20Sopenharmony_ci tristate "SPEAR MTD NOR Support through SMI controller" 948c2ecf20Sopenharmony_ci depends on PLAT_SPEAR || COMPILE_TEST 958c2ecf20Sopenharmony_ci default y 968c2ecf20Sopenharmony_ci help 978c2ecf20Sopenharmony_ci This enable SNOR support on SPEAR platforms using SMI controller 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciconfig MTD_SST25L 1008c2ecf20Sopenharmony_ci tristate "Support SST25L (non JEDEC) SPI Flash chips" 1018c2ecf20Sopenharmony_ci depends on SPI_MASTER 1028c2ecf20Sopenharmony_ci help 1038c2ecf20Sopenharmony_ci This enables access to the non JEDEC SST25L SPI flash chips, used 1048c2ecf20Sopenharmony_ci for program and data storage. 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci Set up your spi devices with the right board-specific platform data, 1078c2ecf20Sopenharmony_ci if you want to specify device partitioning. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciconfig MTD_BCM47XXSFLASH 1108c2ecf20Sopenharmony_ci tristate "Support for serial flash on BCMA bus" 1118c2ecf20Sopenharmony_ci depends on BCMA_SFLASH && (MIPS || ARM) 1128c2ecf20Sopenharmony_ci help 1138c2ecf20Sopenharmony_ci BCMA bus can have various flash memories attached, they are 1148c2ecf20Sopenharmony_ci registered by bcma as platform devices. This enables driver for 1158c2ecf20Sopenharmony_ci serial flash memories. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciconfig MTD_SLRAM 1188c2ecf20Sopenharmony_ci tristate "Uncached system RAM" 1198c2ecf20Sopenharmony_ci help 1208c2ecf20Sopenharmony_ci If your CPU cannot cache all of the physical memory in your machine, 1218c2ecf20Sopenharmony_ci you can still use it for storage or swap by using this driver to 1228c2ecf20Sopenharmony_ci present it to the system as a Memory Technology Device. 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ciconfig MTD_PHRAM 1258c2ecf20Sopenharmony_ci tristate "Physical system RAM" 1268c2ecf20Sopenharmony_ci help 1278c2ecf20Sopenharmony_ci This is a re-implementation of the slram driver above. 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci Use this driver to access physical memory that the kernel proper 1308c2ecf20Sopenharmony_ci doesn't have access to, memory beyond the mem=xxx limit, nvram, 1318c2ecf20Sopenharmony_ci memory on the video card, etc... 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ciconfig MTD_LART 1348c2ecf20Sopenharmony_ci tristate "28F160xx flash driver for LART" 1358c2ecf20Sopenharmony_ci depends on SA1100_LART 1368c2ecf20Sopenharmony_ci help 1378c2ecf20Sopenharmony_ci This enables the flash driver for LART. Please note that you do 1388c2ecf20Sopenharmony_ci not need any mapping/chip driver for LART. This one does it all 1398c2ecf20Sopenharmony_ci for you, so go disable all of those if you enabled some of them (: 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ciconfig MTD_MTDRAM 1428c2ecf20Sopenharmony_ci tristate "Test driver using RAM" 1438c2ecf20Sopenharmony_ci help 1448c2ecf20Sopenharmony_ci This enables a test MTD device driver which uses vmalloc() to 1458c2ecf20Sopenharmony_ci provide storage. You probably want to say 'N' unless you're 1468c2ecf20Sopenharmony_ci testing stuff. 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ciconfig MTDRAM_TOTAL_SIZE 1498c2ecf20Sopenharmony_ci int "MTDRAM device size in KiB" 1508c2ecf20Sopenharmony_ci depends on MTD_MTDRAM 1518c2ecf20Sopenharmony_ci default "4096" 1528c2ecf20Sopenharmony_ci help 1538c2ecf20Sopenharmony_ci This allows you to configure the total size of the MTD device 1548c2ecf20Sopenharmony_ci emulated by the MTDRAM driver. If the MTDRAM driver is built 1558c2ecf20Sopenharmony_ci as a module, it is also possible to specify this as a parameter when 1568c2ecf20Sopenharmony_ci loading the module. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ciconfig MTDRAM_ERASE_SIZE 1598c2ecf20Sopenharmony_ci int "MTDRAM erase block size in KiB" 1608c2ecf20Sopenharmony_ci depends on MTD_MTDRAM 1618c2ecf20Sopenharmony_ci default "128" 1628c2ecf20Sopenharmony_ci help 1638c2ecf20Sopenharmony_ci This allows you to configure the size of the erase blocks in the 1648c2ecf20Sopenharmony_ci device emulated by the MTDRAM driver. If the MTDRAM driver is built 1658c2ecf20Sopenharmony_ci as a module, it is also possible to specify this as a parameter when 1668c2ecf20Sopenharmony_ci loading the module. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ciconfig MTD_BLOCK2MTD 1698c2ecf20Sopenharmony_ci tristate "MTD using block device" 1708c2ecf20Sopenharmony_ci depends on BLOCK 1718c2ecf20Sopenharmony_ci help 1728c2ecf20Sopenharmony_ci This driver allows a block device to appear as an MTD. It would 1738c2ecf20Sopenharmony_ci generally be used in the following cases: 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci Using Compact Flash as an MTD, these usually present themselves to 1768c2ecf20Sopenharmony_ci the system as an ATA drive. 1778c2ecf20Sopenharmony_ci Testing MTD users (eg JFFS2) on large media and media that might 1788c2ecf20Sopenharmony_ci be removed during a write (using the floppy drive). 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ciconfig MTD_POWERNV_FLASH 1818c2ecf20Sopenharmony_ci tristate "powernv flash MTD driver" 1828c2ecf20Sopenharmony_ci depends on PPC_POWERNV 1838c2ecf20Sopenharmony_ci help 1848c2ecf20Sopenharmony_ci This provides an MTD device to access flash on powernv OPAL 1858c2ecf20Sopenharmony_ci platforms from Linux. This device abstracts away the 1868c2ecf20Sopenharmony_ci firmware interface for flash access. 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_cicomment "Disk-On-Chip Device Drivers" 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ciconfig MTD_DOCG3 1918c2ecf20Sopenharmony_ci tristate "M-Systems Disk-On-Chip G3" 1928c2ecf20Sopenharmony_ci select BCH 1938c2ecf20Sopenharmony_ci select BCH_CONST_PARAMS if !MTD_NAND_ECC_SW_BCH 1948c2ecf20Sopenharmony_ci select BITREVERSE 1958c2ecf20Sopenharmony_ci help 1968c2ecf20Sopenharmony_ci This provides an MTD device driver for the M-Systems DiskOnChip 1978c2ecf20Sopenharmony_ci G3 devices. 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci The driver provides access to G3 DiskOnChip, distributed by 2008c2ecf20Sopenharmony_ci M-Systems and now Sandisk. The support is very experimental, 2018c2ecf20Sopenharmony_ci and doesn't give access to any write operations. 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ciconfig MTD_ST_SPI_FSM 2048c2ecf20Sopenharmony_ci tristate "ST Microelectronics SPI FSM Serial Flash Controller" 2058c2ecf20Sopenharmony_ci depends on ARCH_STI 2068c2ecf20Sopenharmony_ci help 2078c2ecf20Sopenharmony_ci This provides an MTD device driver for the ST Microelectronics 2088c2ecf20Sopenharmony_ci SPI Fast Sequence Mode (FSM) Serial Flash Controller and support 2098c2ecf20Sopenharmony_ci for a subset of connected Serial Flash devices. 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ciif MTD_DOCG3 2128c2ecf20Sopenharmony_ciconfig BCH_CONST_M 2138c2ecf20Sopenharmony_ci default 14 2148c2ecf20Sopenharmony_ciconfig BCH_CONST_T 2158c2ecf20Sopenharmony_ci default 4 2168c2ecf20Sopenharmony_ciendif 2178c2ecf20Sopenharmony_ci 2188c2ecf20Sopenharmony_ciendmenu 219