ddba7c5ad7
Remove the compile-time option for FAST_READ, since we have run-time support for detecting it. This refactors the logic for enabling fast-read, such that for DT-enabled devices, we honor the "m25p,fast-read" property but for non-DT devices, we default to using FAST_READ whenever the flash device supports it. Normal READ and FAST_READ differ only in the following: * FAST_READ supports SPI higher clock frequencies [1] * number of dummy cycles; FAST_READ requires 8 dummy cycles (whereas READ requires 0) to allow the flash sufficient setup time, even when running at higher clock speeds Thus, for flash chips which support FAST_READ, there is otherwise no limiting reason why we cannot use the FAST_READ opcode instead of READ. It simply allows the SPI controller to run at higher clock rates. So theoretically, nobody should be needing the compile-time option anyway. [1] I have a Spansion S25FL128S datasheet which says: "The maximum operating clock frequency for the READ command is 50 MHz." And: "The maximum operating clock frequency for FAST READ command is 133 MHz." Signed-off-by: Brian Norris <computersforpeace@gmail.com>
220 lines
7.7 KiB
Text
220 lines
7.7 KiB
Text
menu "Self-contained MTD device drivers"
|
|
depends on MTD!=n
|
|
depends on HAS_IOMEM
|
|
|
|
config MTD_PMC551
|
|
tristate "Ramix PMC551 PCI Mezzanine RAM card support"
|
|
depends on PCI
|
|
---help---
|
|
This provides a MTD device driver for the Ramix PMC551 RAM PCI card
|
|
from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>.
|
|
These devices come in memory configurations from 32M - 1G. If you
|
|
have one, you probably want to enable this.
|
|
|
|
If this driver is compiled as a module you get the ability to select
|
|
the size of the aperture window pointing into the devices memory.
|
|
What this means is that if you have a 1G card, normally the kernel
|
|
will use a 1G memory map as its view of the device. As a module,
|
|
you can select a 1M window into the memory and the driver will
|
|
"slide" the window around the PMC551's memory. This was
|
|
particularly useful on the 2.2 kernels on PPC architectures as there
|
|
was limited kernel space to deal with.
|
|
|
|
config MTD_PMC551_BUGFIX
|
|
bool "PMC551 256M DRAM Bugfix"
|
|
depends on MTD_PMC551
|
|
help
|
|
Some of Ramix's PMC551 boards with 256M configurations have invalid
|
|
column and row mux values. This option will fix them, but will
|
|
break other memory configurations. If unsure say N.
|
|
|
|
config MTD_PMC551_DEBUG
|
|
bool "PMC551 Debugging"
|
|
depends on MTD_PMC551
|
|
help
|
|
This option makes the PMC551 more verbose during its operation and
|
|
is only really useful if you are developing on this driver or
|
|
suspect a possible hardware or driver bug. If unsure say N.
|
|
|
|
config MTD_MS02NV
|
|
tristate "DEC MS02-NV NVRAM module support"
|
|
depends on MACH_DECSTATION
|
|
help
|
|
This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery
|
|
backed-up NVRAM module. The module was originally meant as an NFS
|
|
accelerator. Say Y here if you have a DECstation 5000/2x0 or a
|
|
DECsystem 5900 equipped with such a module.
|
|
|
|
If you want to compile this driver as a module ( = code which can be
|
|
inserted in and removed from the running kernel whenever you want),
|
|
say M here and read <file:Documentation/kbuild/modules.txt>.
|
|
The module will be called ms02-nv.
|
|
|
|
config MTD_DATAFLASH
|
|
tristate "Support for AT45xxx DataFlash"
|
|
depends on SPI_MASTER
|
|
help
|
|
This enables access to AT45xxx DataFlash chips, using SPI.
|
|
Sometimes DataFlash chips are packaged inside MMC-format
|
|
cards; at this writing, the MMC stack won't handle those.
|
|
|
|
config MTD_DATAFLASH_WRITE_VERIFY
|
|
bool "Verify DataFlash page writes"
|
|
depends on MTD_DATAFLASH
|
|
help
|
|
This adds an extra check when data is written to the flash.
|
|
It may help if you are verifying chip setup (timings etc) on
|
|
your board. There is a rare possibility that even though the
|
|
device thinks the write was successful, a bit could have been
|
|
flipped accidentally due to device wear or something else.
|
|
|
|
config MTD_DATAFLASH_OTP
|
|
bool "DataFlash OTP support (Security Register)"
|
|
depends on MTD_DATAFLASH
|
|
help
|
|
Newer DataFlash chips (revisions C and D) support 128 bytes of
|
|
one-time-programmable (OTP) data. The first half may be written
|
|
(once) with up to 64 bytes of data, such as a serial number or
|
|
other key product data. The second half is programmed with a
|
|
unique-to-each-chip bit pattern at the factory.
|
|
|
|
config MTD_M25P80
|
|
tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)"
|
|
depends on SPI_MASTER
|
|
help
|
|
This enables access to most modern SPI flash chips, used for
|
|
program and data storage. Series supported include Atmel AT26DF,
|
|
Spansion S25SL, SST 25VF, ST M25P, and Winbond W25X. Other chips
|
|
are supported as well. See the driver source for the current list,
|
|
or to add other chips.
|
|
|
|
Note that the original DataFlash chips (AT45 series, not AT26DF),
|
|
need an entirely different driver.
|
|
|
|
Set up your spi devices with the right board-specific platform data,
|
|
if you want to specify device partitioning or to use a device which
|
|
doesn't support the JEDEC ID instruction.
|
|
|
|
config MTD_SPEAR_SMI
|
|
tristate "SPEAR MTD NOR Support through SMI controller"
|
|
depends on PLAT_SPEAR
|
|
default y
|
|
help
|
|
This enable SNOR support on SPEAR platforms using SMI controller
|
|
|
|
config MTD_SST25L
|
|
tristate "Support SST25L (non JEDEC) SPI Flash chips"
|
|
depends on SPI_MASTER
|
|
help
|
|
This enables access to the non JEDEC SST25L SPI flash chips, used
|
|
for program and data storage.
|
|
|
|
Set up your spi devices with the right board-specific platform data,
|
|
if you want to specify device partitioning.
|
|
|
|
config MTD_BCM47XXSFLASH
|
|
tristate "R/O support for serial flash on BCMA bus"
|
|
depends on BCMA_SFLASH
|
|
help
|
|
BCMA bus can have various flash memories attached, they are
|
|
registered by bcma as platform devices. This enables driver for
|
|
serial flash memories (only read-only mode is implemented).
|
|
|
|
config MTD_SLRAM
|
|
tristate "Uncached system RAM"
|
|
help
|
|
If your CPU cannot cache all of the physical memory in your machine,
|
|
you can still use it for storage or swap by using this driver to
|
|
present it to the system as a Memory Technology Device.
|
|
|
|
config MTD_PHRAM
|
|
tristate "Physical system RAM"
|
|
help
|
|
This is a re-implementation of the slram driver above.
|
|
|
|
Use this driver to access physical memory that the kernel proper
|
|
doesn't have access to, memory beyond the mem=xxx limit, nvram,
|
|
memory on the video card, etc...
|
|
|
|
config MTD_LART
|
|
tristate "28F160xx flash driver for LART"
|
|
depends on SA1100_LART
|
|
help
|
|
This enables the flash driver for LART. Please note that you do
|
|
not need any mapping/chip driver for LART. This one does it all
|
|
for you, so go disable all of those if you enabled some of them (:
|
|
|
|
config MTD_MTDRAM
|
|
tristate "Test driver using RAM"
|
|
help
|
|
This enables a test MTD device driver which uses vmalloc() to
|
|
provide storage. You probably want to say 'N' unless you're
|
|
testing stuff.
|
|
|
|
config MTDRAM_TOTAL_SIZE
|
|
int "MTDRAM device size in KiB"
|
|
depends on MTD_MTDRAM
|
|
default "4096"
|
|
help
|
|
This allows you to configure the total size of the MTD device
|
|
emulated by the MTDRAM driver. If the MTDRAM driver is built
|
|
as a module, it is also possible to specify this as a parameter when
|
|
loading the module.
|
|
|
|
config MTDRAM_ERASE_SIZE
|
|
int "MTDRAM erase block size in KiB"
|
|
depends on MTD_MTDRAM
|
|
default "128"
|
|
help
|
|
This allows you to configure the size of the erase blocks in the
|
|
device emulated by the MTDRAM driver. If the MTDRAM driver is built
|
|
as a module, it is also possible to specify this as a parameter when
|
|
loading the module.
|
|
|
|
#If not a module (I don't want to test it as a module)
|
|
config MTDRAM_ABS_POS
|
|
hex "SRAM Hexadecimal Absolute position or 0"
|
|
depends on MTD_MTDRAM=y
|
|
default "0"
|
|
help
|
|
If you have system RAM accessible by the CPU but not used by Linux
|
|
in normal operation, you can give the physical address at which the
|
|
available RAM starts, and the MTDRAM driver will use it instead of
|
|
allocating space from Linux's available memory. Otherwise, leave
|
|
this set to zero. Most people will want to leave this as zero.
|
|
|
|
config MTD_BLOCK2MTD
|
|
tristate "MTD using block device"
|
|
depends on BLOCK
|
|
help
|
|
This driver allows a block device to appear as an MTD. It would
|
|
generally be used in the following cases:
|
|
|
|
Using Compact Flash as an MTD, these usually present themselves to
|
|
the system as an ATA drive.
|
|
Testing MTD users (eg JFFS2) on large media and media that might
|
|
be removed during a write (using the floppy drive).
|
|
|
|
comment "Disk-On-Chip Device Drivers"
|
|
|
|
config MTD_DOCG3
|
|
tristate "M-Systems Disk-On-Chip G3"
|
|
select BCH
|
|
select BCH_CONST_PARAMS
|
|
select BITREVERSE
|
|
---help---
|
|
This provides an MTD device driver for the M-Systems DiskOnChip
|
|
G3 devices.
|
|
|
|
The driver provides access to G3 DiskOnChip, distributed by
|
|
M-Systems and now Sandisk. The support is very experimental,
|
|
and doesn't give access to any write operations.
|
|
|
|
if MTD_DOCG3
|
|
config BCH_CONST_M
|
|
default 14
|
|
config BCH_CONST_T
|
|
default 4
|
|
endif
|
|
|
|
endmenu
|