| menu "SPI Flash Support" | |
| config DM_SPI_FLASH | |
| bool "Enable Driver Model for SPI flash" | |
| depends on DM_SPI | |
| select DEVRES | |
| imply SPI_FLASH | |
| 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 0x0 | |
| 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 plat 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 plat values computed from | |
| available node. | |
| if SPI_FLASH | |
| config BOOTDEV_SPI_FLASH | |
| bool "SPI Flash bootdev support" | |
| depends on BOOTSTD | |
| help | |
| Enable a boot device for SPI flash. This allows reading a script | |
| from SPI flash so that it can be used to boot an Operating System. | |
| If unsure, say N | |
| 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_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. | |
| config SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT | |
| bool "Command extension type is INVERT for Software Reset on boot" | |
| help | |
| Because of SFDP information can not be get before boot. | |
| So define command extension type is INVERT when Software Reset on boot only. | |
| config SPI_FLASH_SOFT_RESET | |
| bool "Software Reset support for SPI NOR flashes" | |
| 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). | |
| 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 | |
| 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. | |
| 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 SPI_FLASH_LOCK | |
| bool "Enable the Locking feature" | |
| default y | |
| help | |
| Enable the SPI flash lock support. By default this is set to y. | |
| If you intend not to use the lock support you should say n here. | |
| 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. | |
| 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_PUYA | |
| bool "Puya Semiconductor SPI flash support" | |
| help | |
| Add support for various Puya Semiconductor SPI flash chips (P25xxx) | |
| config SPI_FLASH_SILICONKAISER | |
| bool "Silicon Kaiser SPI flash support" | |
| help | |
| Add support for various Silicon Kaiser SPI flash chips (SK25Lxxx) | |
| config SPI_FLASH_SPANSION | |
| bool "Spansion SPI flash support" | |
| help | |
| Add support for various Spansion SPI flash chips (S25FLxxx) | |
| config SPI_FLASH_S28HX_T | |
| bool "Cypress SEMPER Octal (S28) chip support" | |
| depends on SPI_FLASH_SPANSION | |
| help | |
| Add support for the Cypress S28HL-T and S28HS-T chip. This is a separate | |
| config because the fixup hooks for this flash add extra size overhead. | |
| Boards that don't use the flash can disable this to save space. | |
| config SPI_FLASH_STMICRO | |
| bool "STMicro SPI flash support" | |
| help | |
| Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) | |
| config SPI_FLASH_MT35XU | |
| bool "Micron MT35XU chip support" | |
| depends on SPI_FLASH_STMICRO | |
| help | |
| Add support for the Micron MT35XU chip. This is a separate config | |
| because the fixup hooks for this flash add extra size overhead. Boards | |
| that don't use the flash can disable this to save space. | |
| 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_ZBIT | |
| bool "ZBIT SPI flash support" | |
| help | |
| Add support for Zbit Semiconductor Inc. SPI flash chips (ZB25xxx). | |
| 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 x 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 | |
| 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 && SPL | |
| help | |
| Enable the MTD support for the SPI flash layer in SPL. | |
| If unsure, say N | |
| endmenu # menu "SPI Flash Support" |