mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 07:31:45 +00:00
ceb720c71b
This driver adds mtd support for the Aspeed AST2500 SoC static memory controllers : * Firmware SPI Memory Controller (FMC) . BMC firmware . 3 chip select pins (CE0 ~ CE2) . supports SPI type flash memory (CE0-CE1) . CE2 can be of NOR type flash but this is not supported by the driver * SPI Flash Controller (SPI1 and SPI2) . host firmware . 2 chip select pins (CE0 ~ CE1) . supports SPI type flash memory Each controller has a memory range on which it maps its flash module slaves. Each slave is assigned a memory window for its mapping that can be changed at bootime with the Segment Address Register. Each SPI flash slave can then be accessed in two modes: Command and User. When in User mode, accesses to the memory segment of the slaves are translated in SPI transfers. When in Command mode, the HW generates the SPI commands automatically and the memory segment is accessed as if doing a MMIO. Currently, only the User mode is supported. Command mode needs a little more work to check that the memory window on the AHB bus fits the module size. Based on previous work from Milton D. Miller II <miltonm@us.ibm.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Joel Stanley <joel@jms.id.au> Reviewed-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
90 lines
3.1 KiB
Plaintext
90 lines
3.1 KiB
Plaintext
menuconfig MTD_SPI_NOR
|
||
tristate "SPI-NOR device support"
|
||
depends on MTD
|
||
help
|
||
This is the framework for the SPI NOR which can be used by the SPI
|
||
device drivers and the SPI-NOR device driver.
|
||
|
||
if MTD_SPI_NOR
|
||
|
||
config MTD_MT81xx_NOR
|
||
tristate "Mediatek MT81xx SPI NOR flash controller"
|
||
depends on HAS_IOMEM
|
||
help
|
||
This enables access to SPI NOR flash, using MT81xx SPI NOR flash
|
||
controller. This controller does not support generic SPI BUS, it only
|
||
supports SPI NOR Flash.
|
||
|
||
config MTD_SPI_NOR_USE_4K_SECTORS
|
||
bool "Use small 4096 B erase sectors"
|
||
default y
|
||
help
|
||
Many flash memories support erasing small (4096 B) sectors. Depending
|
||
on the usage this feature may provide performance gain in comparison
|
||
to erasing whole blocks (32/64 KiB).
|
||
Changing a small part of the flash's contents is usually faster with
|
||
small sectors. On the other hand erasing should be faster when using
|
||
64 KiB block instead of 16 × 4 KiB sectors.
|
||
|
||
Please note that some tools/drivers/filesystems may not work with
|
||
4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
|
||
|
||
config SPI_ASPEED_SMC
|
||
tristate "Aspeed flash controllers in SPI mode"
|
||
depends on ARCH_ASPEED || COMPILE_TEST
|
||
depends on HAS_IOMEM && OF
|
||
help
|
||
This enables support for the Firmware Memory controller (FMC)
|
||
in the Aspeed AST2500 SoC when attached to SPI NOR chips,
|
||
and support for the SPI flash memory controller (SPI) for
|
||
the host firmware. The implementation only supports SPI NOR.
|
||
|
||
config SPI_ATMEL_QUADSPI
|
||
tristate "Atmel Quad SPI Controller"
|
||
depends on ARCH_AT91 || (ARM && COMPILE_TEST)
|
||
depends on OF && HAS_IOMEM
|
||
help
|
||
This enables support for the Quad SPI controller in master mode.
|
||
This driver does not support generic SPI. The implementation only
|
||
supports SPI NOR.
|
||
|
||
config SPI_CADENCE_QUADSPI
|
||
tristate "Cadence Quad SPI controller"
|
||
depends on OF && (ARM || COMPILE_TEST)
|
||
help
|
||
Enable support for the Cadence Quad SPI Flash controller.
|
||
|
||
Cadence QSPI is a specialized controller for connecting an SPI
|
||
Flash over 1/2/4-bit wide bus. Enable this option if you have a
|
||
device with a Cadence QSPI controller and want to access the
|
||
Flash as an MTD device.
|
||
|
||
config SPI_FSL_QUADSPI
|
||
tristate "Freescale Quad SPI controller"
|
||
depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
|
||
depends on HAS_IOMEM
|
||
help
|
||
This enables support for the Quad SPI controller in master mode.
|
||
This controller does not support generic SPI. It only supports
|
||
SPI NOR.
|
||
|
||
config SPI_HISI_SFC
|
||
tristate "Hisilicon SPI-NOR Flash Controller(SFC)"
|
||
depends on ARCH_HISI || COMPILE_TEST
|
||
depends on HAS_IOMEM && HAS_DMA
|
||
help
|
||
This enables support for hisilicon SPI-NOR flash controller.
|
||
|
||
config SPI_NXP_SPIFI
|
||
tristate "NXP SPI Flash Interface (SPIFI)"
|
||
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
|
||
depends on HAS_IOMEM
|
||
help
|
||
Enable support for the NXP LPC SPI Flash Interface controller.
|
||
|
||
SPIFI is a specialized controller for connecting serial SPI
|
||
Flash. Enable this option if you have a device with a SPIFI
|
||
controller and want to access the Flash as a mtd device.
|
||
|
||
endif # MTD_SPI_NOR
|