menu "SPI Flash Support"
|
|
config DM_SPI_FLASH
|
bool "Enable Driver Model for SPI flash"
|
depends on DM && DM_SPI
|
help
|
Enable driver model for SPI flash. This SPI flash interface
|
(spi_flash_probe(), spi_flash_write(), etc.) is then
|
implemented by the SPI flash uclass. There is one standard
|
SPI flash driver which knows how to probe most chips
|
supported by U-Boot. The uclass interface is defined in
|
include/spi_flash.h, but is currently fully compatible
|
with the old interface to avoid confusion and duplication
|
during the transition parent. SPI and SPI flash must be
|
enabled together (it is not possible to use driver model
|
for one and not the other).
|
|
config SPI_FLASH_SANDBOX
|
bool "Support sandbox SPI flash device"
|
depends on SANDBOX && DM_SPI_FLASH
|
help
|
Since sandbox cannot access real devices, an emulation mechanism is
|
provided instead. Drivers can be connected up to the sandbox SPI
|
bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this
|
device. Typically the contents of the emulated SPI flash device is
|
stored in a file on the host filesystem.
|
|
config SPI_FLASH
|
bool "SPI Flash Core Interface support"
|
select SPI_MEM
|
help
|
Enable the SPI flash Core support. This will include basic
|
standard support for things like probing, read / write, and
|
erasing through cmd_sf interface.
|
|
If unsure, say N
|
|
config SF_DEFAULT_BUS
|
int "SPI Flash default bus identifier"
|
depends on SPI_FLASH || DM_SPI_FLASH
|
default 0
|
help
|
The default bus may be provided by the platform
|
to handle the common case when only a single serial
|
flash is present on the system.
|
|
config SF_DEFAULT_CS
|
int "SPI Flash default Chip-select"
|
depends on SPI_FLASH || DM_SPI_FLASH
|
default 0
|
help
|
The default chip select may be provided by the platform
|
to handle the common case when only a single serial
|
flash is present on the system.
|
|
config SF_DEFAULT_MODE
|
hex "SPI Flash default mode (see include/spi.h)"
|
depends on SPI_FLASH || DM_SPI_FLASH
|
default 3
|
help
|
The default mode may be provided by the platform
|
to handle the common case when only a single serial
|
flash is present on the system.
|
Not used for boot with device tree; the SPI driver reads
|
speed and mode from platdata values computed from
|
available node.
|
|
config SF_DEFAULT_SPEED
|
int "SPI Flash default speed in Hz"
|
depends on SPI_FLASH || DM_SPI_FLASH
|
default 1000000
|
help
|
The default speed may be provided by the platform
|
to handle the common case when only a single serial
|
flash is present on the system.
|
Not used for boot with device tree; the SPI driver reads
|
speed and mode from platdata values computed from
|
available node.
|
|
if SPI_FLASH
|
|
config SPI_FLASH_SFDP_SUPPORT
|
bool "SFDP table parsing support for SPI NOR flashes"
|
depends on !SPI_FLASH_BAR
|
help
|
Enable support for parsing and auto discovery of parameters for
|
SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
|
tables as per JESD216 standard.
|
|
config SPI_FLASH_BAR
|
bool "SPI flash Bank/Extended address register support"
|
help
|
Enable the SPI flash Bank/Extended address register support.
|
Bank/Extended address registers are used to access the flash
|
which has size > 16MiB in 3-byte addressing.
|
|
config SF_DUAL_FLASH
|
bool "SPI DUAL flash memory support"
|
help
|
Enable this option to support two flash memories connected to a single
|
controller. Currently Xilinx Zynq qspi supports this.
|
|
config SPI_FLASH_ATMEL
|
bool "Atmel SPI flash support"
|
help
|
Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
|
|
config SPI_FLASH_EON
|
bool "EON SPI flash support"
|
help
|
Add support for various EON SPI flash chips (EN25xxx)
|
|
config SPI_FLASH_GIGADEVICE
|
bool "GigaDevice SPI flash support"
|
help
|
Add support for various GigaDevice SPI flash chips (GD25xxx)
|
|
config SPI_FLASH_ISSI
|
bool "ISSI SPI flash support"
|
help
|
Add support for various ISSI SPI flash chips (ISxxx)
|
|
config SPI_FLASH_MACRONIX
|
bool "Macronix SPI flash support"
|
help
|
Add support for various Macronix SPI flash chips (MX25Lxxx)
|
|
config SPI_FLASH_SPANSION
|
bool "Spansion SPI flash support"
|
help
|
Add support for various Spansion SPI flash chips (S25FLxxx)
|
|
config SPI_FLASH_STMICRO
|
bool "STMicro SPI flash support"
|
help
|
Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
|
|
config SPI_FLASH_SST
|
bool "SST SPI flash support"
|
help
|
Add support for various SST SPI flash chips (SST25xxx)
|
|
config SPI_FLASH_WINBOND
|
bool "Winbond SPI flash support"
|
help
|
Add support for various Winbond SPI flash chips (W25xxx)
|
|
config SPI_FLASH_XMC
|
bool "XMC SPI flash support"
|
help
|
Add support for various XMC (Wuhan Xinxin Semiconductor
|
Manufacturing Corp.) SPI flash chips (XM25xxx)
|
|
config SPI_FLASH_XTX
|
bool "XTX SPI flash support"
|
help
|
Add support for various XTX (XTX Technology Limited)
|
SPI flash chips (XT25xxx).
|
|
config SPI_FLASH_PUYA
|
bool "PUYA SPI flash support"
|
help
|
Add support for various PUYA (PUYA Semiconductor (Shangehai) Co., Ltd)
|
SPI flash chips (P25Qxxx and PS25Qxxxx).
|
|
config SPI_FLASH_FMSH
|
bool "FMSH SPI flash support"
|
help
|
Add support for various FMSH (FUDAN MICRO (Shangehai) Co., Ltd)
|
SPI flash chips (FM25Qxxx).
|
|
config SPI_FLASH_DOSILICON
|
bool "DOSILICON SPI flash support"
|
help
|
Add support for various DOSILICON (Dosilicon Co., Ltd)
|
SPI flash chips (FM25Qxxx and FM25Mxxx).
|
|
config SPI_FLASH_BOYA
|
bool "BOYA SPI flash support"
|
help
|
Add support for various BOYA (BOYA Co., Ltd)
|
SPI flash chips (BY25Qxxxx).
|
|
config SPI_FLASH_NORMEM
|
bool "NORMEM SPI flash support"
|
help
|
Add support for various NORMEM (NORMEM Co., Ltd)
|
SPI flash chips (NM25Qxxxx).
|
|
endif
|
|
config SPI_FLASH_USE_4K_SECTORS
|
bool "Use small 4096 B erase sectors"
|
depends on SPI_FLASH
|
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_FLASH_DATAFLASH
|
bool "AT45xxx DataFlash support"
|
depends on SPI_FLASH && DM_SPI_FLASH
|
help
|
Enable the access for SPI-flash-based AT45xxx DataFlash chips.
|
DataFlash is a kind of SPI flash. Most AT45 chips have two buffers
|
in each chip, which may be used for double buffered I/O; but this
|
driver doesn't (yet) use these for any kind of i/o overlap or prefetching.
|
|
Sometimes DataFlash is packaged in MMC-format cards, although the
|
MMC stack can't (yet?) distinguish between MMC and DataFlash
|
protocols during enumeration.
|
|
If unsure, say N
|
|
config SPI_FLASH_MTD
|
bool "SPI Flash MTD support"
|
depends on SPI_FLASH && MTD_BLK
|
help
|
Enable the MTD support for spi flash layer, this adapter is for
|
translating mtd_read/mtd_write commands into spi_flash_read/write
|
commands. It is not intended to use it within sf_cmd or the SPI
|
flash subsystem. Such an adapter is needed for subsystems like
|
UBI which can only operate on top of the MTD layer.
|
|
If unsure, say N
|
|
config SPL_SPI_FLASH_MTD
|
bool "SPI flash MTD support for SPL"
|
depends on SPI_FLASH
|
help
|
Enable the MTD support for the SPI flash layer in SPL.
|
|
If unsure, say N
|
|
endmenu # menu "SPI Flash Support"
|