2015-06-27 17:09:36 +00:00
|
|
|
|
menu "SPI Flash Support"
|
|
|
|
|
|
2015-02-06 04:41:35 +00:00
|
|
|
|
config DM_SPI_FLASH
|
|
|
|
|
bool "Enable Driver Model for SPI flash"
|
2015-03-31 03:47:52 +00:00
|
|
|
|
depends on DM && DM_SPI
|
2019-10-16 12:37:24 +00:00
|
|
|
|
imply SPI_FLASH
|
2015-02-06 04:41:35 +00:00
|
|
|
|
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).
|
2015-03-06 20:19:06 +00:00
|
|
|
|
|
|
|
|
|
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.
|
2015-06-27 17:09:36 +00:00
|
|
|
|
|
2015-06-28 19:29:36 +00:00
|
|
|
|
config SPI_FLASH
|
2019-02-09 12:15:42 +00:00
|
|
|
|
bool "SPI Flash Core Interface support"
|
2019-02-05 05:59:23 +00:00
|
|
|
|
select SPI_MEM
|
2015-06-28 19:29:36 +00:00
|
|
|
|
help
|
2019-02-09 12:15:42 +00:00
|
|
|
|
Enable the SPI flash Core support. This will include basic
|
2015-06-28 19:29:36 +00:00
|
|
|
|
standard support for things like probing, read / write, and
|
|
|
|
|
erasing through cmd_sf interface.
|
|
|
|
|
|
|
|
|
|
If unsure, say N
|
|
|
|
|
|
2019-02-27 14:20:36 +00:00
|
|
|
|
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.
|
2019-02-27 14:36:44 +00:00
|
|
|
|
Not used for boot with device tree; the SPI driver reads
|
2020-12-03 23:55:18 +00:00
|
|
|
|
speed and mode from plat values computed from
|
2019-02-27 14:36:44 +00:00
|
|
|
|
available node.
|
2019-02-27 14:20:36 +00:00
|
|
|
|
|
|
|
|
|
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.
|
2019-02-27 14:36:44 +00:00
|
|
|
|
Not used for boot with device tree; the SPI driver reads
|
2020-12-03 23:55:18 +00:00
|
|
|
|
speed and mode from plat values computed from
|
2019-02-27 14:36:44 +00:00
|
|
|
|
available node.
|
2019-02-27 14:20:36 +00:00
|
|
|
|
|
2019-02-05 05:59:20 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2021-06-25 19:17:14 +00:00
|
|
|
|
config SPI_FLASH_SMART_HWCAPS
|
|
|
|
|
bool "Smart hardware capability detection based on SPI MEM supports_op() hook"
|
|
|
|
|
default y
|
|
|
|
|
help
|
|
|
|
|
Enable support for smart hardware capability detection based on SPI
|
|
|
|
|
MEM supports_op() hook that lets controllers express whether they
|
|
|
|
|
can support a type of operation in a much more refined way compared
|
|
|
|
|
to using flags like SPI_RX_DUAL, SPI_TX_QUAD, etc.
|
|
|
|
|
|
2021-06-25 19:17:24 +00:00
|
|
|
|
config SPI_FLASH_SOFT_RESET
|
|
|
|
|
bool "Software Reset support for SPI NOR flashes"
|
|
|
|
|
default n
|
|
|
|
|
help
|
|
|
|
|
Enable support for xSPI Software Reset. It will be used to switch from
|
|
|
|
|
Octal DTR mode to legacy mode on shutdown and boot (if enabled).
|
|
|
|
|
|
2021-06-25 19:17:25 +00:00
|
|
|
|
config SPI_FLASH_SOFT_RESET_ON_BOOT
|
|
|
|
|
bool "Perform a Software Reset on boot on flashes that boot in stateful mode"
|
|
|
|
|
depends on SPI_FLASH_SOFT_RESET
|
|
|
|
|
default n
|
|
|
|
|
help
|
|
|
|
|
Perform a Software Reset on boot to allow detecting flashes that are
|
|
|
|
|
handed to us in Octal DTR mode. Do not enable this config on flashes
|
|
|
|
|
that are not supposed to be handed to U-Boot in Octal DTR mode, even
|
|
|
|
|
if they _do_ support the Soft Reset sequence.
|
|
|
|
|
|
2015-06-29 18:02:17 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2020-12-09 09:53:25 +00:00
|
|
|
|
config SPI_FLASH_UNLOCK_ALL
|
|
|
|
|
bool "Unlock the entire SPI flash on u-boot startup"
|
|
|
|
|
default y
|
|
|
|
|
help
|
|
|
|
|
Some flashes tend to power up with the software write protection
|
|
|
|
|
bits set. If this option is set, the whole flash will be unlocked.
|
|
|
|
|
|
|
|
|
|
For legacy reasons, this option default to y. But if you intend to
|
|
|
|
|
actually use the software protection bits you should say n here.
|
|
|
|
|
|
2017-06-07 05:42:37 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2015-07-23 14:19:38 +00:00
|
|
|
|
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)
|
|
|
|
|
|
2016-01-25 14:39:26 +00:00
|
|
|
|
config SPI_FLASH_ISSI
|
|
|
|
|
bool "ISSI SPI flash support"
|
|
|
|
|
help
|
|
|
|
|
Add support for various ISSI SPI flash chips (ISxxx)
|
|
|
|
|
|
2015-07-23 14:19:38 +00:00
|
|
|
|
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)
|
|
|
|
|
|
2018-08-06 14:33:19 +00:00
|
|
|
|
config SPI_FLASH_XMC
|
|
|
|
|
bool "XMC SPI flash support"
|
|
|
|
|
help
|
|
|
|
|
Add support for various XMC (Wuhan Xinxin Semiconductor
|
|
|
|
|
Manufacturing Corp.) SPI flash chips (XM25xxx)
|
|
|
|
|
|
2015-07-23 14:19:38 +00:00
|
|
|
|
endif
|
|
|
|
|
|
2015-08-02 23:28:56 +00:00
|
|
|
|
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).
|
|
|
|
|
|
2015-07-01 15:52:19 +00:00
|
|
|
|
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
|
|
|
|
|
|
2015-06-27 17:12:35 +00:00
|
|
|
|
config SPI_FLASH_MTD
|
|
|
|
|
bool "SPI Flash MTD support"
|
2019-10-03 17:50:24 +00:00
|
|
|
|
depends on SPI_FLASH && MTD
|
2015-06-27 17:12:35 +00:00
|
|
|
|
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
|
|
|
|
|
|
2019-09-13 22:43:42 +00:00
|
|
|
|
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
|
|
|
|
|
|
2015-06-27 17:09:36 +00:00
|
|
|
|
endmenu # menu "SPI Flash Support"
|