Merge branch '2019-07-26-ti-imports'
[oweals/u-boot.git] / drivers / mtd / spi / Kconfig
index 2dc46b4b340e4e85c3efd9a26fa8e698407801e1..d3b007a731dac0134beb13cecefe51657cca4d82 100644 (file)
@@ -1,6 +1,8 @@
+menu "SPI Flash Support"
+
 config DM_SPI_FLASH
        bool "Enable Driver Model for SPI flash"
 config DM_SPI_FLASH
        bool "Enable Driver Model for SPI flash"
-       depends on DM && SPI
+       depends on DM && DM_SPI
        help
          Enable driver model for SPI flash. This SPI flash interface
          (spi_flash_probe(), spi_flash_write(), etc.) is then
        help
          Enable driver model for SPI flash. This SPI flash interface
          (spi_flash_probe(), spi_flash_write(), etc.) is then
@@ -12,3 +14,186 @@ config DM_SPI_FLASH
          during the transition parent. SPI and SPI flash must be
          enabled together (it is not possible to use driver model
          for one and not the other).
          during the transition parent. SPI and SPI flash must be
          enabled together (it is not possible to use driver model
          for one and not the other).
+
+config SPI_FLASH_SANDBOX
+       bool "Support sandbox SPI flash device"
+       depends on SANDBOX && DM_SPI_FLASH
+       help
+         Since sandbox cannot access real devices, an emulation mechanism is
+         provided instead. Drivers can be connected up to the sandbox SPI
+         bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this
+         device. Typically the contents of the emulated SPI flash device is
+         stored in a file on the host filesystem.
+
+config SPI_FLASH
+       bool "Legacy SPI Flash Interface support"
+       depends on SPI
+       select SPI_MEM
+       help
+         Enable the legacy SPI flash support. This will include basic
+         standard support for things like probing, read / write, and
+         erasing through cmd_sf interface.
+
+         If unsure, say N
+
+config SF_DEFAULT_BUS
+       int "SPI Flash default bus identifier"
+       depends on SPI_FLASH || DM_SPI_FLASH
+       default 0
+       help
+         The default bus may be provided by the platform
+         to handle the common case when only a single serial
+         flash is present on the system.
+
+config SF_DEFAULT_CS
+       int "SPI Flash default Chip-select"
+       depends on SPI_FLASH || DM_SPI_FLASH
+       default 0
+       help
+         The default chip select may be provided by the platform
+         to handle the common case when only a single serial
+         flash is present on the system.
+
+config SF_DEFAULT_MODE
+       hex "SPI Flash default mode (see include/spi.h)"
+       depends on SPI_FLASH || DM_SPI_FLASH
+       default 3
+       help
+         The default mode may be provided by the platform
+         to handle the common case when only a single serial
+         flash is present on the system.
+         Not used for boot with device tree; the SPI driver reads
+         speed and mode from platdata values computed from
+         available node.
+
+config SF_DEFAULT_SPEED
+       int "SPI Flash default speed in Hz"
+       depends on SPI_FLASH || DM_SPI_FLASH
+       default 1000000
+       help
+         The default speed may be provided by the platform
+         to handle the common case when only a single serial
+         flash is present on the system.
+         Not used for boot with device tree; the SPI driver reads
+         speed and mode from platdata values computed from
+         available node.
+
+if SPI_FLASH
+
+config SPI_FLASH_SFDP_SUPPORT
+       bool "SFDP table parsing support for SPI NOR flashes"
+       depends on !SPI_FLASH_BAR
+       help
+        Enable support for parsing and auto discovery of parameters for
+        SPI NOR flashes using Serial Flash Discoverable Parameters (SFDP)
+        tables as per JESD216 standard.
+
+config SPI_FLASH_BAR
+       bool "SPI flash Bank/Extended address register support"
+       help
+         Enable the SPI flash Bank/Extended address register support.
+         Bank/Extended address registers are used to access the flash
+         which has size > 16MiB in 3-byte addressing.
+
+config SF_DUAL_FLASH
+       bool "SPI DUAL flash memory support"
+       help
+         Enable this option to support two flash memories connected to a single
+         controller. Currently Xilinx Zynq qspi supports this.
+
+config SPI_FLASH_ATMEL
+       bool "Atmel SPI flash support"
+       help
+         Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
+
+config SPI_FLASH_EON
+       bool "EON SPI flash support"
+       help
+         Add support for various EON SPI flash chips (EN25xxx)
+
+config SPI_FLASH_GIGADEVICE
+       bool "GigaDevice SPI flash support"
+       help
+         Add support for various GigaDevice SPI flash chips (GD25xxx)
+
+config SPI_FLASH_ISSI
+       bool "ISSI SPI flash support"
+       help
+         Add support for various ISSI SPI flash chips (ISxxx)
+
+config SPI_FLASH_MACRONIX
+       bool "Macronix SPI flash support"
+       help
+         Add support for various Macronix SPI flash chips (MX25Lxxx)
+
+config SPI_FLASH_SPANSION
+       bool "Spansion SPI flash support"
+       help
+         Add support for various Spansion SPI flash chips (S25FLxxx)
+
+config SPI_FLASH_STMICRO
+       bool "STMicro SPI flash support"
+       help
+         Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
+
+config SPI_FLASH_SST
+       bool "SST SPI flash support"
+       help
+         Add support for various SST SPI flash chips (SST25xxx)
+
+config SPI_FLASH_WINBOND
+       bool "Winbond SPI flash support"
+       help
+         Add support for various Winbond SPI flash chips (W25xxx)
+
+config SPI_FLASH_XMC
+       bool "XMC SPI flash support"
+       help
+         Add support for various XMC (Wuhan Xinxin Semiconductor
+         Manufacturing Corp.) SPI flash chips (XM25xxx)
+
+endif
+
+config SPI_FLASH_USE_4K_SECTORS
+       bool "Use small 4096 B erase sectors"
+       depends on SPI_FLASH
+       default y
+       help
+         Many flash memories support erasing small (4096 B) sectors. Depending
+         on the usage this feature may provide performance gain in comparison
+         to erasing whole blocks (32/64 KiB).
+         Changing a small part of the flash's contents is usually faster with
+         small sectors. On the other hand erasing should be faster when using
+         64 KiB block instead of 16 × 4 KiB sectors.
+
+         Please note that some tools/drivers/filesystems may not work with
+         4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
+
+config SPI_FLASH_DATAFLASH
+       bool "AT45xxx DataFlash support"
+       depends on SPI_FLASH && DM_SPI_FLASH
+       help
+         Enable the access for SPI-flash-based AT45xxx DataFlash chips.
+         DataFlash is a kind of SPI flash. Most AT45 chips have two buffers
+         in each chip, which may be used for double buffered I/O; but this
+         driver doesn't (yet) use these for any kind of i/o overlap or prefetching.
+
+         Sometimes DataFlash is packaged in MMC-format cards, although the
+         MMC stack can't (yet?) distinguish between MMC and DataFlash
+         protocols during enumeration.
+
+         If unsure, say N
+
+config SPI_FLASH_MTD
+       bool "SPI Flash MTD support"
+       depends on SPI_FLASH
+       help
+          Enable the MTD support for spi flash layer, this adapter is for
+         translating mtd_read/mtd_write commands into spi_flash_read/write
+         commands. It is not intended to use it within sf_cmd or the SPI
+         flash subsystem. Such an adapter is needed for subsystems like
+         UBI which can only operate on top of the MTD layer.
+
+         If unsure, say N
+
+endmenu # menu "SPI Flash Support"