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 45if SPI_FLASH 46 47config SPI_FLASH_ATMEL 48 bool "Atmel SPI flash support" 49 help 50 Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx) 51 52config SPI_FLASH_EON 53 bool "EON SPI flash support" 54 help 55 Add support for various EON SPI flash chips (EN25xxx) 56 57config SPI_FLASH_GIGADEVICE 58 bool "GigaDevice SPI flash support" 59 help 60 Add support for various GigaDevice SPI flash chips (GD25xxx) 61 62config SPI_FLASH_MACRONIX 63 bool "Macronix SPI flash support" 64 help 65 Add support for various Macronix SPI flash chips (MX25Lxxx) 66 67config SPI_FLASH_SPANSION 68 bool "Spansion SPI flash support" 69 help 70 Add support for various Spansion SPI flash chips (S25FLxxx) 71 72config SPI_FLASH_STMICRO 73 bool "STMicro SPI flash support" 74 help 75 Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) 76 77config SPI_FLASH_SST 78 bool "SST SPI flash support" 79 help 80 Add support for various SST SPI flash chips (SST25xxx) 81 82config SPI_FLASH_WINBOND 83 bool "Winbond SPI flash support" 84 help 85 Add support for various Winbond SPI flash chips (W25xxx) 86 87endif 88 89config SPI_FLASH_USE_4K_SECTORS 90 bool "Use small 4096 B erase sectors" 91 depends on SPI_FLASH 92 default y 93 help 94 Many flash memories support erasing small (4096 B) sectors. Depending 95 on the usage this feature may provide performance gain in comparison 96 to erasing whole blocks (32/64 KiB). 97 Changing a small part of the flash's contents is usually faster with 98 small sectors. On the other hand erasing should be faster when using 99 64 KiB block instead of 16 × 4 KiB sectors. 100 101 Please note that some tools/drivers/filesystems may not work with 102 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 103 104config SPI_FLASH_DATAFLASH 105 bool "AT45xxx DataFlash support" 106 depends on SPI_FLASH && DM_SPI_FLASH 107 help 108 Enable the access for SPI-flash-based AT45xxx DataFlash chips. 109 DataFlash is a kind of SPI flash. Most AT45 chips have two buffers 110 in each chip, which may be used for double buffered I/O; but this 111 driver doesn't (yet) use these for any kind of i/o overlap or prefetching. 112 113 Sometimes DataFlash is packaged in MMC-format cards, although the 114 MMC stack can't (yet?) distinguish between MMC and DataFlash 115 protocols during enumeration. 116 117 If unsure, say N 118 119config SPI_FLASH_MTD 120 bool "SPI Flash MTD support" 121 depends on SPI_FLASH 122 help 123 Enable the MTD support for spi flash layer, this adapter is for 124 translating mtd_read/mtd_write commands into spi_flash_read/write 125 commands. It is not intended to use it within sf_cmd or the SPI 126 flash subsystem. Such an adapter is needed for subsystems like 127 UBI which can only operate on top of the MTD layer. 128 129 If unsure, say N 130 131if SPL 132 133config SPL_SPI_SUNXI 134 bool "Support for SPI Flash on Allwinner SoCs in SPL" 135 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I 136 ---help--- 137 Enable support for SPI Flash. This option allows SPL to read from 138 sunxi SPI Flash. It uses the same method as the boot ROM, so does 139 not need any extra configuration. 140 141endif 142 143endmenu # menu "SPI Flash Support" 144