1menu "SPI Flash Support" 2 3config DM_SPI_FLASH 4 bool "Enable Driver Model for SPI flash" 5 depends on DM && DM_SPI 6 help 7 Enable driver model for SPI flash. This SPI flash interface 8 (spi_flash_probe(), spi_flash_write(), etc.) is then 9 implemented by the SPI flash uclass. There is one standard 10 SPI flash driver which knows how to probe most chips 11 supported by U-Boot. The uclass interface is defined in 12 include/spi_flash.h, but is currently fully compatible 13 with the old interface to avoid confusion and duplication 14 during the transition parent. SPI and SPI flash must be 15 enabled together (it is not possible to use driver model 16 for one and not the other). 17 18config SPI_FLASH_SANDBOX 19 bool "Support sandbox SPI flash device" 20 depends on SANDBOX && DM_SPI_FLASH 21 help 22 Since sandbox cannot access real devices, an emulation mechanism is 23 provided instead. Drivers can be connected up to the sandbox SPI 24 bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this 25 device. Typically the contents of the emulated SPI flash device is 26 stored in a file on the host filesystem. 27 28config SPI_FLASH 29 bool "Legacy SPI Flash Interface support" 30 help 31 Enable the legacy SPI flash support. This will include basic 32 standard support for things like probing, read / write, and 33 erasing through cmd_sf interface. 34 35 If unsure, say N 36 37config SPI_FLASH_BAR 38 bool "SPI flash Bank/Extended address register support" 39 depends on SPI_FLASH 40 help 41 Enable the SPI flash Bank/Extended address register support. 42 Bank/Extended address registers are used to access the flash 43 which has size > 16MiB in 3-byte addressing. 44 45config SF_DUAL_FLASH 46 bool "SPI DUAL flash memory support" 47 depends on SPI_FLASH 48 help 49 Enable this option to support two flash memories connected to a single 50 controller. Currently Xilinx Zynq qspi supports this. 51 52if SPI_FLASH 53 54config SPI_FLASH_ATMEL 55 bool "Atmel SPI flash support" 56 help 57 Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx) 58 59config SPI_FLASH_EON 60 bool "EON SPI flash support" 61 help 62 Add support for various EON SPI flash chips (EN25xxx) 63 64config SPI_FLASH_GIGADEVICE 65 bool "GigaDevice SPI flash support" 66 help 67 Add support for various GigaDevice SPI flash chips (GD25xxx) 68 69config SPI_FLASH_MACRONIX 70 bool "Macronix SPI flash support" 71 help 72 Add support for various Macronix SPI flash chips (MX25Lxxx) 73 74config SPI_FLASH_SPANSION 75 bool "Spansion SPI flash support" 76 help 77 Add support for various Spansion SPI flash chips (S25FLxxx) 78 79config SPI_FLASH_STMICRO 80 bool "STMicro SPI flash support" 81 help 82 Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) 83 84config SPI_FLASH_SST 85 bool "SST SPI flash support" 86 help 87 Add support for various SST SPI flash chips (SST25xxx) 88 89config SPI_FLASH_WINBOND 90 bool "Winbond SPI flash support" 91 help 92 Add support for various Winbond SPI flash chips (W25xxx) 93 94endif 95 96config SPI_FLASH_USE_4K_SECTORS 97 bool "Use small 4096 B erase sectors" 98 depends on SPI_FLASH 99 default y 100 help 101 Many flash memories support erasing small (4096 B) sectors. Depending 102 on the usage this feature may provide performance gain in comparison 103 to erasing whole blocks (32/64 KiB). 104 Changing a small part of the flash's contents is usually faster with 105 small sectors. On the other hand erasing should be faster when using 106 64 KiB block instead of 16 × 4 KiB sectors. 107 108 Please note that some tools/drivers/filesystems may not work with 109 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 110 111config SPI_FLASH_DATAFLASH 112 bool "AT45xxx DataFlash support" 113 depends on SPI_FLASH && DM_SPI_FLASH 114 help 115 Enable the access for SPI-flash-based AT45xxx DataFlash chips. 116 DataFlash is a kind of SPI flash. Most AT45 chips have two buffers 117 in each chip, which may be used for double buffered I/O; but this 118 driver doesn't (yet) use these for any kind of i/o overlap or prefetching. 119 120 Sometimes DataFlash is packaged in MMC-format cards, although the 121 MMC stack can't (yet?) distinguish between MMC and DataFlash 122 protocols during enumeration. 123 124 If unsure, say N 125 126config SPI_FLASH_MTD 127 bool "SPI Flash MTD support" 128 depends on SPI_FLASH 129 help 130 Enable the MTD support for spi flash layer, this adapter is for 131 translating mtd_read/mtd_write commands into spi_flash_read/write 132 commands. It is not intended to use it within sf_cmd or the SPI 133 flash subsystem. Such an adapter is needed for subsystems like 134 UBI which can only operate on top of the MTD layer. 135 136 If unsure, say N 137 138if SPL 139 140config SPL_SPI_SUNXI 141 bool "Support for SPI Flash on Allwinner SoCs in SPL" 142 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I 143 ---help--- 144 Enable support for SPI Flash. This option allows SPL to read from 145 sunxi SPI Flash. It uses the same method as the boot ROM, so does 146 not need any extra configuration. 147 148endif 149 150endmenu # menu "SPI Flash Support" 151