xref: /OK3568_Linux_fs/kernel/drivers/mtd/devices/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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