1menu "SPI Flash Support" 2 3config DM_SPI_FLASH 4 bool "Enable Driver Model for SPI flash" 5 depends on DM && DM_SPI 6 imply SPI_FLASH 7 help 8 Enable driver model for SPI flash. This SPI flash interface 9 (spi_flash_probe(), spi_flash_write(), etc.) is then 10 implemented by the SPI flash uclass. There is one standard 11 SPI flash driver which knows how to probe most chips 12 supported by U-Boot. The uclass interface is defined in 13 include/spi_flash.h, but is currently fully compatible 14 with the old interface to avoid confusion and duplication 15 during the transition parent. SPI and SPI flash must be 16 enabled together (it is not possible to use driver model 17 for one and not the other). 18 19config SPI_FLASH_SANDBOX 20 bool "Support sandbox SPI flash device" 21 depends on SANDBOX && DM_SPI_FLASH 22 help 23 Since sandbox cannot access real devices, an emulation mechanism is 24 provided instead. Drivers can be connected up to the sandbox SPI 25 bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this 26 device. Typically the contents of the emulated SPI flash device is 27 stored in a file on the host filesystem. 28 29config SPI_FLASH 30 bool "SPI Flash Core Interface support" 31 select SPI_MEM 32 help 33 Enable the SPI flash Core support. This will include basic 34 standard support for things like probing, read / write, and 35 erasing through cmd_sf interface. 36 37 If unsure, say N 38 39config SF_DEFAULT_BUS 40 int "SPI Flash default bus identifier" 41 depends on SPI_FLASH || DM_SPI_FLASH 42 default 0 43 help 44 The default bus may be provided by the platform 45 to handle the common case when only a single serial 46 flash is present on the system. 47 48config SF_DEFAULT_CS 49 int "SPI Flash default Chip-select" 50 depends on SPI_FLASH || DM_SPI_FLASH 51 default 0 52 help 53 The default chip select may be provided by the platform 54 to handle the common case when only a single serial 55 flash is present on the system. 56 57config SF_DEFAULT_MODE 58 hex "SPI Flash default mode (see include/spi.h)" 59 depends on SPI_FLASH || DM_SPI_FLASH 60 default 3 61 help 62 The default mode may be provided by the platform 63 to handle the common case when only a single serial 64 flash is present on the system. 65 Not used for boot with device tree; the SPI driver reads 66 speed and mode from plat values computed from 67 available node. 68 69config SF_DEFAULT_SPEED 70 int "SPI Flash default speed in Hz" 71 depends on SPI_FLASH || DM_SPI_FLASH 72 default 1000000 73 help 74 The default speed may be provided by the platform 75 to handle the common case when only a single serial 76 flash is present on the system. 77 Not used for boot with device tree; the SPI driver reads 78 speed and mode from plat values computed from 79 available node. 80 81if SPI_FLASH 82 83config SPI_FLASH_SFDP_SUPPORT 84 bool "SFDP table parsing support for SPI NOR flashes" 85 depends on !SPI_FLASH_BAR 86 help 87 Enable support for parsing and auto discovery of parameters for 88 SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP) 89 tables as per JESD216 standard. 90 91config SPI_FLASH_BAR 92 bool "SPI flash Bank/Extended address register support" 93 help 94 Enable the SPI flash Bank/Extended address register support. 95 Bank/Extended address registers are used to access the flash 96 which has size > 16MiB in 3-byte addressing. 97 98config SPI_FLASH_UNLOCK_ALL 99 bool "Unlock the entire SPI flash on u-boot startup" 100 default y 101 help 102 Some flashes tend to power up with the software write protection 103 bits set. If this option is set, the whole flash will be unlocked. 104 105 For legacy reasons, this option default to y. But if you intend to 106 actually use the software protection bits you should say n here. 107 108config SF_DUAL_FLASH 109 bool "SPI DUAL flash memory support" 110 help 111 Enable this option to support two flash memories connected to a single 112 controller. Currently Xilinx Zynq qspi supports this. 113 114config SPI_FLASH_ATMEL 115 bool "Atmel SPI flash support" 116 help 117 Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx) 118 119config SPI_FLASH_EON 120 bool "EON SPI flash support" 121 help 122 Add support for various EON SPI flash chips (EN25xxx) 123 124config SPI_FLASH_GIGADEVICE 125 bool "GigaDevice SPI flash support" 126 help 127 Add support for various GigaDevice SPI flash chips (GD25xxx) 128 129config SPI_FLASH_ISSI 130 bool "ISSI SPI flash support" 131 help 132 Add support for various ISSI SPI flash chips (ISxxx) 133 134config SPI_FLASH_MACRONIX 135 bool "Macronix SPI flash support" 136 help 137 Add support for various Macronix SPI flash chips (MX25Lxxx) 138 139config SPI_FLASH_SPANSION 140 bool "Spansion SPI flash support" 141 help 142 Add support for various Spansion SPI flash chips (S25FLxxx) 143 144config SPI_FLASH_STMICRO 145 bool "STMicro SPI flash support" 146 help 147 Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) 148 149config SPI_FLASH_SST 150 bool "SST SPI flash support" 151 help 152 Add support for various SST SPI flash chips (SST25xxx) 153 154config SPI_FLASH_WINBOND 155 bool "Winbond SPI flash support" 156 help 157 Add support for various Winbond SPI flash chips (W25xxx) 158 159config SPI_FLASH_XMC 160 bool "XMC SPI flash support" 161 help 162 Add support for various XMC (Wuhan Xinxin Semiconductor 163 Manufacturing Corp.) SPI flash chips (XM25xxx) 164 165endif 166 167config SPI_FLASH_USE_4K_SECTORS 168 bool "Use small 4096 B erase sectors" 169 depends on SPI_FLASH 170 default y 171 help 172 Many flash memories support erasing small (4096 B) sectors. Depending 173 on the usage this feature may provide performance gain in comparison 174 to erasing whole blocks (32/64 KiB). 175 Changing a small part of the flash's contents is usually faster with 176 small sectors. On the other hand erasing should be faster when using 177 64 KiB block instead of 16 × 4 KiB sectors. 178 179 Please note that some tools/drivers/filesystems may not work with 180 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 181 182config SPI_FLASH_DATAFLASH 183 bool "AT45xxx DataFlash support" 184 depends on SPI_FLASH && DM_SPI_FLASH 185 help 186 Enable the access for SPI-flash-based AT45xxx DataFlash chips. 187 DataFlash is a kind of SPI flash. Most AT45 chips have two buffers 188 in each chip, which may be used for double buffered I/O; but this 189 driver doesn't (yet) use these for any kind of i/o overlap or prefetching. 190 191 Sometimes DataFlash is packaged in MMC-format cards, although the 192 MMC stack can't (yet?) distinguish between MMC and DataFlash 193 protocols during enumeration. 194 195 If unsure, say N 196 197config SPI_FLASH_MTD 198 bool "SPI Flash MTD support" 199 depends on SPI_FLASH && MTD 200 help 201 Enable the MTD support for spi flash layer, this adapter is for 202 translating mtd_read/mtd_write commands into spi_flash_read/write 203 commands. It is not intended to use it within sf_cmd or the SPI 204 flash subsystem. Such an adapter is needed for subsystems like 205 UBI which can only operate on top of the MTD layer. 206 207 If unsure, say N 208 209config SPL_SPI_FLASH_MTD 210 bool "SPI flash MTD support for SPL" 211 depends on SPI_FLASH 212 help 213 Enable the MTD support for the SPI flash layer in SPL. 214 215 If unsure, say N 216 217endmenu # menu "SPI Flash Support" 218