1810fd696SJagan Tekimenu "SPI Flash Support" 2810fd696SJagan Teki 3f94a1bedSSimon Glassconfig DM_SPI_FLASH 4f94a1bedSSimon Glass bool "Enable Driver Model for SPI flash" 5b3d023b4SMasahiro Yamada depends on DM && DM_SPI 6f94a1bedSSimon Glass help 7f94a1bedSSimon Glass Enable driver model for SPI flash. This SPI flash interface 8f94a1bedSSimon Glass (spi_flash_probe(), spi_flash_write(), etc.) is then 9f94a1bedSSimon Glass implemented by the SPI flash uclass. There is one standard 10f94a1bedSSimon Glass SPI flash driver which knows how to probe most chips 11f94a1bedSSimon Glass supported by U-Boot. The uclass interface is defined in 12f94a1bedSSimon Glass include/spi_flash.h, but is currently fully compatible 13f94a1bedSSimon Glass with the old interface to avoid confusion and duplication 14f94a1bedSSimon Glass during the transition parent. SPI and SPI flash must be 15f94a1bedSSimon Glass enabled together (it is not possible to use driver model 16f94a1bedSSimon Glass for one and not the other). 17949dd81bSSimon Glass 18949dd81bSSimon Glassconfig SPI_FLASH_SANDBOX 19949dd81bSSimon Glass bool "Support sandbox SPI flash device" 20949dd81bSSimon Glass depends on SANDBOX && DM_SPI_FLASH 21949dd81bSSimon Glass help 22949dd81bSSimon Glass Since sandbox cannot access real devices, an emulation mechanism is 23949dd81bSSimon Glass provided instead. Drivers can be connected up to the sandbox SPI 24949dd81bSSimon Glass bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this 25949dd81bSSimon Glass device. Typically the contents of the emulated SPI flash device is 26949dd81bSSimon Glass stored in a file on the host filesystem. 27810fd696SJagan Teki 282ce7e2b6SJagan Tekiconfig SPI_FLASH 292ce7e2b6SJagan Teki bool "Legacy SPI Flash Interface support" 302ce7e2b6SJagan Teki help 312ce7e2b6SJagan Teki Enable the legacy SPI flash support. This will include basic 322ce7e2b6SJagan Teki standard support for things like probing, read / write, and 332ce7e2b6SJagan Teki erasing through cmd_sf interface. 342ce7e2b6SJagan Teki 352ce7e2b6SJagan Teki If unsure, say N 362ce7e2b6SJagan Teki 3784d31b3bSJagan Tekiconfig SPI_FLASH_BAR 3884d31b3bSJagan Teki bool "SPI flash Bank/Extended address register support" 3984d31b3bSJagan Teki depends on SPI_FLASH 4084d31b3bSJagan Teki help 4184d31b3bSJagan Teki Enable the SPI flash Bank/Extended address register support. 4284d31b3bSJagan Teki Bank/Extended address registers are used to access the flash 4384d31b3bSJagan Teki which has size > 16MiB in 3-byte addressing. 4484d31b3bSJagan Teki 45988390b8SMike Looijmansconfig SF_DUAL_FLASH 46988390b8SMike Looijmans bool "SPI DUAL flash memory support" 47988390b8SMike Looijmans depends on SPI_FLASH 48988390b8SMike Looijmans help 49988390b8SMike Looijmans Enable this option to support two flash memories connected to a single 50988390b8SMike Looijmans controller. Currently Xilinx Zynq qspi supports this. 51988390b8SMike Looijmans 52d5af9231SNikita Kiryanovif SPI_FLASH 53d5af9231SNikita Kiryanov 54d5af9231SNikita Kiryanovconfig SPI_FLASH_ATMEL 55d5af9231SNikita Kiryanov bool "Atmel SPI flash support" 56d5af9231SNikita Kiryanov help 57d5af9231SNikita Kiryanov Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx) 58d5af9231SNikita Kiryanov 59d5af9231SNikita Kiryanovconfig SPI_FLASH_EON 60d5af9231SNikita Kiryanov bool "EON SPI flash support" 61d5af9231SNikita Kiryanov help 62d5af9231SNikita Kiryanov Add support for various EON SPI flash chips (EN25xxx) 63d5af9231SNikita Kiryanov 64d5af9231SNikita Kiryanovconfig SPI_FLASH_GIGADEVICE 65d5af9231SNikita Kiryanov bool "GigaDevice SPI flash support" 66d5af9231SNikita Kiryanov help 67d5af9231SNikita Kiryanov Add support for various GigaDevice SPI flash chips (GD25xxx) 68d5af9231SNikita Kiryanov 69*13f451bfSMichal Simekconfig SPI_FLASH_ISSI 70*13f451bfSMichal Simek bool "ISSI SPI flash support" 71*13f451bfSMichal Simek help 72*13f451bfSMichal Simek Add support for various ISSI SPI flash chips (ISxxx) 73*13f451bfSMichal Simek 74d5af9231SNikita Kiryanovconfig SPI_FLASH_MACRONIX 75d5af9231SNikita Kiryanov bool "Macronix SPI flash support" 76d5af9231SNikita Kiryanov help 77d5af9231SNikita Kiryanov Add support for various Macronix SPI flash chips (MX25Lxxx) 78d5af9231SNikita Kiryanov 79d5af9231SNikita Kiryanovconfig SPI_FLASH_SPANSION 80d5af9231SNikita Kiryanov bool "Spansion SPI flash support" 81d5af9231SNikita Kiryanov help 82d5af9231SNikita Kiryanov Add support for various Spansion SPI flash chips (S25FLxxx) 83d5af9231SNikita Kiryanov 84d5af9231SNikita Kiryanovconfig SPI_FLASH_STMICRO 85d5af9231SNikita Kiryanov bool "STMicro SPI flash support" 86d5af9231SNikita Kiryanov help 87d5af9231SNikita Kiryanov Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) 88d5af9231SNikita Kiryanov 89d5af9231SNikita Kiryanovconfig SPI_FLASH_SST 90d5af9231SNikita Kiryanov bool "SST SPI flash support" 91d5af9231SNikita Kiryanov help 92d5af9231SNikita Kiryanov Add support for various SST SPI flash chips (SST25xxx) 93d5af9231SNikita Kiryanov 94d5af9231SNikita Kiryanovconfig SPI_FLASH_WINBOND 95d5af9231SNikita Kiryanov bool "Winbond SPI flash support" 96d5af9231SNikita Kiryanov help 97d5af9231SNikita Kiryanov Add support for various Winbond SPI flash chips (W25xxx) 98d5af9231SNikita Kiryanov 99d5af9231SNikita Kiryanovendif 100d5af9231SNikita Kiryanov 1010a026554SMarek Vasutconfig SPI_FLASH_USE_4K_SECTORS 1020a026554SMarek Vasut bool "Use small 4096 B erase sectors" 1030a026554SMarek Vasut depends on SPI_FLASH 1040a026554SMarek Vasut default y 1050a026554SMarek Vasut help 1060a026554SMarek Vasut Many flash memories support erasing small (4096 B) sectors. Depending 1070a026554SMarek Vasut on the usage this feature may provide performance gain in comparison 1080a026554SMarek Vasut to erasing whole blocks (32/64 KiB). 1090a026554SMarek Vasut Changing a small part of the flash's contents is usually faster with 1100a026554SMarek Vasut small sectors. On the other hand erasing should be faster when using 1110a026554SMarek Vasut 64 KiB block instead of 16 × 4 KiB sectors. 1120a026554SMarek Vasut 1130a026554SMarek Vasut Please note that some tools/drivers/filesystems may not work with 1140a026554SMarek Vasut 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 1150a026554SMarek Vasut 116cd9accdcSJagan Tekiconfig SPI_FLASH_DATAFLASH 117cd9accdcSJagan Teki bool "AT45xxx DataFlash support" 118cd9accdcSJagan Teki depends on SPI_FLASH && DM_SPI_FLASH 119cd9accdcSJagan Teki help 120cd9accdcSJagan Teki Enable the access for SPI-flash-based AT45xxx DataFlash chips. 121cd9accdcSJagan Teki DataFlash is a kind of SPI flash. Most AT45 chips have two buffers 122cd9accdcSJagan Teki in each chip, which may be used for double buffered I/O; but this 123cd9accdcSJagan Teki driver doesn't (yet) use these for any kind of i/o overlap or prefetching. 124cd9accdcSJagan Teki 125cd9accdcSJagan Teki Sometimes DataFlash is packaged in MMC-format cards, although the 126cd9accdcSJagan Teki MMC stack can't (yet?) distinguish between MMC and DataFlash 127cd9accdcSJagan Teki protocols during enumeration. 128cd9accdcSJagan Teki 129cd9accdcSJagan Teki If unsure, say N 130cd9accdcSJagan Teki 1317678dd93SJagan Tekiconfig SPI_FLASH_MTD 1327678dd93SJagan Teki bool "SPI Flash MTD support" 1337678dd93SJagan Teki depends on SPI_FLASH 1347678dd93SJagan Teki help 1357678dd93SJagan Teki Enable the MTD support for spi flash layer, this adapter is for 1367678dd93SJagan Teki translating mtd_read/mtd_write commands into spi_flash_read/write 1377678dd93SJagan Teki commands. It is not intended to use it within sf_cmd or the SPI 1387678dd93SJagan Teki flash subsystem. Such an adapter is needed for subsystems like 1397678dd93SJagan Teki UBI which can only operate on top of the MTD layer. 1407678dd93SJagan Teki 1417678dd93SJagan Teki If unsure, say N 1427678dd93SJagan Teki 143810fd696SJagan Tekiendmenu # menu "SPI Flash Support" 144