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 platdata 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 platdata 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 SF_DUAL_FLASH 99 bool "SPI DUAL flash memory support" 100 help 101 Enable this option to support two flash memories connected to a single 102 controller. Currently Xilinx Zynq qspi supports this. 103 104config SPI_FLASH_ATMEL 105 bool "Atmel SPI flash support" 106 help 107 Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx) 108 109config SPI_FLASH_EON 110 bool "EON SPI flash support" 111 help 112 Add support for various EON SPI flash chips (EN25xxx) 113 114config SPI_FLASH_GIGADEVICE 115 bool "GigaDevice SPI flash support" 116 help 117 Add support for various GigaDevice SPI flash chips (GD25xxx) 118 119config SPI_FLASH_ISSI 120 bool "ISSI SPI flash support" 121 help 122 Add support for various ISSI SPI flash chips (ISxxx) 123 124config SPI_FLASH_MACRONIX 125 bool "Macronix SPI flash support" 126 help 127 Add support for various Macronix SPI flash chips (MX25Lxxx) 128 129config SPI_FLASH_SPANSION 130 bool "Spansion SPI flash support" 131 help 132 Add support for various Spansion SPI flash chips (S25FLxxx) 133 134config SPI_FLASH_STMICRO 135 bool "STMicro SPI flash support" 136 help 137 Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) 138 139config SPI_FLASH_SST 140 bool "SST SPI flash support" 141 help 142 Add support for various SST SPI flash chips (SST25xxx) 143 144config SPI_FLASH_WINBOND 145 bool "Winbond SPI flash support" 146 help 147 Add support for various Winbond SPI flash chips (W25xxx) 148 149config SPI_FLASH_XMC 150 bool "XMC SPI flash support" 151 help 152 Add support for various XMC (Wuhan Xinxin Semiconductor 153 Manufacturing Corp.) SPI flash chips (XM25xxx) 154 155endif 156 157config SPI_FLASH_USE_4K_SECTORS 158 bool "Use small 4096 B erase sectors" 159 depends on SPI_FLASH 160 default y 161 help 162 Many flash memories support erasing small (4096 B) sectors. Depending 163 on the usage this feature may provide performance gain in comparison 164 to erasing whole blocks (32/64 KiB). 165 Changing a small part of the flash's contents is usually faster with 166 small sectors. On the other hand erasing should be faster when using 167 64 KiB block instead of 16 × 4 KiB sectors. 168 169 Please note that some tools/drivers/filesystems may not work with 170 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 171 172config SPI_FLASH_DATAFLASH 173 bool "AT45xxx DataFlash support" 174 depends on SPI_FLASH && DM_SPI_FLASH 175 help 176 Enable the access for SPI-flash-based AT45xxx DataFlash chips. 177 DataFlash is a kind of SPI flash. Most AT45 chips have two buffers 178 in each chip, which may be used for double buffered I/O; but this 179 driver doesn't (yet) use these for any kind of i/o overlap or prefetching. 180 181 Sometimes DataFlash is packaged in MMC-format cards, although the 182 MMC stack can't (yet?) distinguish between MMC and DataFlash 183 protocols during enumeration. 184 185 If unsure, say N 186 187config SPI_FLASH_MTD 188 bool "SPI Flash MTD support" 189 depends on SPI_FLASH && MTD 190 help 191 Enable the MTD support for spi flash layer, this adapter is for 192 translating mtd_read/mtd_write commands into spi_flash_read/write 193 commands. It is not intended to use it within sf_cmd or the SPI 194 flash subsystem. Such an adapter is needed for subsystems like 195 UBI which can only operate on top of the MTD layer. 196 197 If unsure, say N 198 199config SPL_SPI_FLASH_MTD 200 bool "SPI flash MTD support for SPL" 201 depends on SPI_FLASH 202 help 203 Enable the MTD support for the SPI flash layer in SPL. 204 205 If unsure, say N 206 207endmenu # menu "SPI Flash Support" 208