1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunmenu "Self-contained MTD device drivers" 3*4882a593Smuzhiyun depends on MTD!=n 4*4882a593Smuzhiyun depends on HAS_IOMEM 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig MTD_PMC551 7*4882a593Smuzhiyun tristate "Ramix PMC551 PCI Mezzanine RAM card support" 8*4882a593Smuzhiyun depends on PCI 9*4882a593Smuzhiyun help 10*4882a593Smuzhiyun This provides a MTD device driver for the Ramix PMC551 RAM PCI card 11*4882a593Smuzhiyun from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>. 12*4882a593Smuzhiyun These devices come in memory configurations from 32M - 1G. If you 13*4882a593Smuzhiyun have one, you probably want to enable this. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun If this driver is compiled as a module you get the ability to select 16*4882a593Smuzhiyun the size of the aperture window pointing into the devices memory. 17*4882a593Smuzhiyun What this means is that if you have a 1G card, normally the kernel 18*4882a593Smuzhiyun will use a 1G memory map as its view of the device. As a module, 19*4882a593Smuzhiyun you can select a 1M window into the memory and the driver will 20*4882a593Smuzhiyun "slide" the window around the PMC551's memory. This was 21*4882a593Smuzhiyun particularly useful on the 2.2 kernels on PPC architectures as there 22*4882a593Smuzhiyun was limited kernel space to deal with. 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunconfig MTD_PMC551_BUGFIX 25*4882a593Smuzhiyun bool "PMC551 256M DRAM Bugfix" 26*4882a593Smuzhiyun depends on MTD_PMC551 27*4882a593Smuzhiyun help 28*4882a593Smuzhiyun Some of Ramix's PMC551 boards with 256M configurations have invalid 29*4882a593Smuzhiyun column and row mux values. This option will fix them, but will 30*4882a593Smuzhiyun break other memory configurations. If unsure say N. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunconfig MTD_PMC551_DEBUG 33*4882a593Smuzhiyun bool "PMC551 Debugging" 34*4882a593Smuzhiyun depends on MTD_PMC551 35*4882a593Smuzhiyun help 36*4882a593Smuzhiyun This option makes the PMC551 more verbose during its operation and 37*4882a593Smuzhiyun is only really useful if you are developing on this driver or 38*4882a593Smuzhiyun suspect a possible hardware or driver bug. If unsure say N. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyunconfig MTD_MS02NV 41*4882a593Smuzhiyun tristate "DEC MS02-NV NVRAM module support" 42*4882a593Smuzhiyun depends on MACH_DECSTATION 43*4882a593Smuzhiyun help 44*4882a593Smuzhiyun This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery 45*4882a593Smuzhiyun backed-up NVRAM module. The module was originally meant as an NFS 46*4882a593Smuzhiyun accelerator. Say Y here if you have a DECstation 5000/2x0 or a 47*4882a593Smuzhiyun DECsystem 5900 equipped with such a module. 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun If you want to compile this driver as a module ( = code which can be 50*4882a593Smuzhiyun inserted in and removed from the running kernel whenever you want), 51*4882a593Smuzhiyun say M here and read <file:Documentation/kbuild/modules.rst>. 52*4882a593Smuzhiyun The module will be called ms02-nv. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig MTD_DATAFLASH 55*4882a593Smuzhiyun tristate "Support for AT45xxx DataFlash" 56*4882a593Smuzhiyun depends on SPI_MASTER 57*4882a593Smuzhiyun help 58*4882a593Smuzhiyun This enables access to AT45xxx DataFlash chips, using SPI. 59*4882a593Smuzhiyun Sometimes DataFlash chips are packaged inside MMC-format 60*4882a593Smuzhiyun cards; at this writing, the MMC stack won't handle those. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyunconfig MTD_DATAFLASH_WRITE_VERIFY 63*4882a593Smuzhiyun bool "Verify DataFlash page writes" 64*4882a593Smuzhiyun depends on MTD_DATAFLASH 65*4882a593Smuzhiyun help 66*4882a593Smuzhiyun This adds an extra check when data is written to the flash. 67*4882a593Smuzhiyun It may help if you are verifying chip setup (timings etc) on 68*4882a593Smuzhiyun your board. There is a rare possibility that even though the 69*4882a593Smuzhiyun device thinks the write was successful, a bit could have been 70*4882a593Smuzhiyun flipped accidentally due to device wear or something else. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig MTD_DATAFLASH_OTP 73*4882a593Smuzhiyun bool "DataFlash OTP support (Security Register)" 74*4882a593Smuzhiyun depends on MTD_DATAFLASH 75*4882a593Smuzhiyun help 76*4882a593Smuzhiyun Newer DataFlash chips (revisions C and D) support 128 bytes of 77*4882a593Smuzhiyun one-time-programmable (OTP) data. The first half may be written 78*4882a593Smuzhiyun (once) with up to 64 bytes of data, such as a serial number or 79*4882a593Smuzhiyun other key product data. The second half is programmed with a 80*4882a593Smuzhiyun unique-to-each-chip bit pattern at the factory. 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig MTD_MCHP23K256 83*4882a593Smuzhiyun tristate "Microchip 23K256 SRAM" 84*4882a593Smuzhiyun depends on SPI_MASTER 85*4882a593Smuzhiyun help 86*4882a593Smuzhiyun This enables access to Microchip 23K256 SRAM chips, using SPI. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun Set up your spi devices with the right board-specific 89*4882a593Smuzhiyun platform data, or a device tree description if you want to 90*4882a593Smuzhiyun specify device partitioning 91*4882a593Smuzhiyun 92*4882a593Smuzhiyunconfig MTD_SPEAR_SMI 93*4882a593Smuzhiyun tristate "SPEAR MTD NOR Support through SMI controller" 94*4882a593Smuzhiyun depends on PLAT_SPEAR || COMPILE_TEST 95*4882a593Smuzhiyun default y 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun This enable SNOR support on SPEAR platforms using SMI controller 98*4882a593Smuzhiyun 99*4882a593Smuzhiyunconfig MTD_SST25L 100*4882a593Smuzhiyun tristate "Support SST25L (non JEDEC) SPI Flash chips" 101*4882a593Smuzhiyun depends on SPI_MASTER 102*4882a593Smuzhiyun help 103*4882a593Smuzhiyun This enables access to the non JEDEC SST25L SPI flash chips, used 104*4882a593Smuzhiyun for program and data storage. 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun Set up your spi devices with the right board-specific platform data, 107*4882a593Smuzhiyun if you want to specify device partitioning. 108*4882a593Smuzhiyun 109*4882a593Smuzhiyunconfig MTD_BCM47XXSFLASH 110*4882a593Smuzhiyun tristate "Support for serial flash on BCMA bus" 111*4882a593Smuzhiyun depends on BCMA_SFLASH && (MIPS || ARM) 112*4882a593Smuzhiyun help 113*4882a593Smuzhiyun BCMA bus can have various flash memories attached, they are 114*4882a593Smuzhiyun registered by bcma as platform devices. This enables driver for 115*4882a593Smuzhiyun serial flash memories. 116*4882a593Smuzhiyun 117*4882a593Smuzhiyunconfig MTD_SLRAM 118*4882a593Smuzhiyun tristate "Uncached system RAM" 119*4882a593Smuzhiyun help 120*4882a593Smuzhiyun If your CPU cannot cache all of the physical memory in your machine, 121*4882a593Smuzhiyun you can still use it for storage or swap by using this driver to 122*4882a593Smuzhiyun present it to the system as a Memory Technology Device. 123*4882a593Smuzhiyun 124*4882a593Smuzhiyunconfig MTD_PHRAM 125*4882a593Smuzhiyun tristate "Physical system RAM" 126*4882a593Smuzhiyun help 127*4882a593Smuzhiyun This is a re-implementation of the slram driver above. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun Use this driver to access physical memory that the kernel proper 130*4882a593Smuzhiyun doesn't have access to, memory beyond the mem=xxx limit, nvram, 131*4882a593Smuzhiyun memory on the video card, etc... 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig MTD_LART 134*4882a593Smuzhiyun tristate "28F160xx flash driver for LART" 135*4882a593Smuzhiyun depends on SA1100_LART 136*4882a593Smuzhiyun help 137*4882a593Smuzhiyun This enables the flash driver for LART. Please note that you do 138*4882a593Smuzhiyun not need any mapping/chip driver for LART. This one does it all 139*4882a593Smuzhiyun for you, so go disable all of those if you enabled some of them (: 140*4882a593Smuzhiyun 141*4882a593Smuzhiyunconfig MTD_MTDRAM 142*4882a593Smuzhiyun tristate "Test driver using RAM" 143*4882a593Smuzhiyun help 144*4882a593Smuzhiyun This enables a test MTD device driver which uses vmalloc() to 145*4882a593Smuzhiyun provide storage. You probably want to say 'N' unless you're 146*4882a593Smuzhiyun testing stuff. 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig MTDRAM_TOTAL_SIZE 149*4882a593Smuzhiyun int "MTDRAM device size in KiB" 150*4882a593Smuzhiyun depends on MTD_MTDRAM 151*4882a593Smuzhiyun default "4096" 152*4882a593Smuzhiyun help 153*4882a593Smuzhiyun This allows you to configure the total size of the MTD device 154*4882a593Smuzhiyun emulated by the MTDRAM driver. If the MTDRAM driver is built 155*4882a593Smuzhiyun as a module, it is also possible to specify this as a parameter when 156*4882a593Smuzhiyun loading the module. 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig MTDRAM_ERASE_SIZE 159*4882a593Smuzhiyun int "MTDRAM erase block size in KiB" 160*4882a593Smuzhiyun depends on MTD_MTDRAM 161*4882a593Smuzhiyun default "128" 162*4882a593Smuzhiyun help 163*4882a593Smuzhiyun This allows you to configure the size of the erase blocks in the 164*4882a593Smuzhiyun device emulated by the MTDRAM driver. If the MTDRAM driver is built 165*4882a593Smuzhiyun as a module, it is also possible to specify this as a parameter when 166*4882a593Smuzhiyun loading the module. 167*4882a593Smuzhiyun 168*4882a593Smuzhiyunconfig MTD_BLOCK2MTD 169*4882a593Smuzhiyun tristate "MTD using block device" 170*4882a593Smuzhiyun depends on BLOCK 171*4882a593Smuzhiyun help 172*4882a593Smuzhiyun This driver allows a block device to appear as an MTD. It would 173*4882a593Smuzhiyun generally be used in the following cases: 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun Using Compact Flash as an MTD, these usually present themselves to 176*4882a593Smuzhiyun the system as an ATA drive. 177*4882a593Smuzhiyun Testing MTD users (eg JFFS2) on large media and media that might 178*4882a593Smuzhiyun be removed during a write (using the floppy drive). 179*4882a593Smuzhiyun 180*4882a593Smuzhiyunconfig MTD_POWERNV_FLASH 181*4882a593Smuzhiyun tristate "powernv flash MTD driver" 182*4882a593Smuzhiyun depends on PPC_POWERNV 183*4882a593Smuzhiyun help 184*4882a593Smuzhiyun This provides an MTD device to access flash on powernv OPAL 185*4882a593Smuzhiyun platforms from Linux. This device abstracts away the 186*4882a593Smuzhiyun firmware interface for flash access. 187*4882a593Smuzhiyun 188*4882a593Smuzhiyuncomment "Disk-On-Chip Device Drivers" 189*4882a593Smuzhiyun 190*4882a593Smuzhiyunconfig MTD_DOCG3 191*4882a593Smuzhiyun tristate "M-Systems Disk-On-Chip G3" 192*4882a593Smuzhiyun select BCH 193*4882a593Smuzhiyun select BCH_CONST_PARAMS if !MTD_NAND_ECC_SW_BCH 194*4882a593Smuzhiyun select BITREVERSE 195*4882a593Smuzhiyun help 196*4882a593Smuzhiyun This provides an MTD device driver for the M-Systems DiskOnChip 197*4882a593Smuzhiyun G3 devices. 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun The driver provides access to G3 DiskOnChip, distributed by 200*4882a593Smuzhiyun M-Systems and now Sandisk. The support is very experimental, 201*4882a593Smuzhiyun and doesn't give access to any write operations. 202*4882a593Smuzhiyun 203*4882a593Smuzhiyunconfig MTD_ST_SPI_FSM 204*4882a593Smuzhiyun tristate "ST Microelectronics SPI FSM Serial Flash Controller" 205*4882a593Smuzhiyun depends on ARCH_STI 206*4882a593Smuzhiyun help 207*4882a593Smuzhiyun This provides an MTD device driver for the ST Microelectronics 208*4882a593Smuzhiyun SPI Fast Sequence Mode (FSM) Serial Flash Controller and support 209*4882a593Smuzhiyun for a subset of connected Serial Flash devices. 210*4882a593Smuzhiyun 211*4882a593Smuzhiyunif MTD_DOCG3 212*4882a593Smuzhiyunconfig BCH_CONST_M 213*4882a593Smuzhiyun default 14 214*4882a593Smuzhiyunconfig BCH_CONST_T 215*4882a593Smuzhiyun default 4 216*4882a593Smuzhiyunendif 217*4882a593Smuzhiyun 218*4882a593Smuzhiyunendmenu 219