Merge https://source.denx.de/u-boot/custodians/u-boot-sunxi
[platform/kernel/u-boot.git] / drivers / mtd / spi / Kconfig
index 76d5a1d..096338f 100644 (file)
@@ -3,6 +3,7 @@ menu "SPI Flash Support"
 config DM_SPI_FLASH
        bool "Enable Driver Model for SPI flash"
        depends on DM && DM_SPI
+       imply SPI_FLASH
        help
          Enable driver model for SPI flash. This SPI flash interface
          (spi_flash_probe(), spi_flash_write(), etc.) is then
@@ -26,30 +27,114 @@ config SPI_FLASH_SANDBOX
          stored in a file on the host filesystem.
 
 config SPI_FLASH
-       bool "Legacy SPI Flash Interface support"
+       bool "SPI Flash Core Interface support"
+       select SPI_MEM
        help
-         Enable the legacy SPI flash support. This will include basic
+         Enable the SPI flash Core 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 0x0
+       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 plat 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 plat 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_SMART_HWCAPS
+       bool "Smart hardware capability detection based on SPI MEM supports_op() hook"
+       default y
+       help
+        Enable support for smart hardware capability detection based on SPI
+        MEM supports_op() hook that lets controllers express whether they
+        can support a type of operation in a much more refined way compared
+        to using flags like SPI_RX_DUAL, SPI_TX_QUAD, etc.
+
+config SPI_NOR_BOOT_SOFT_RESET_EXT_INVERT
+       bool "Command extension type is INVERT for Software Reset on boot"
+       default n
+       help
+        Because of SFDP information can not be get before boot.
+        So define command extension type is INVERT when Software Reset on boot only.
+
+config SPI_FLASH_SOFT_RESET
+       bool "Software Reset support for SPI NOR flashes"
+       help
+        Enable support for xSPI Software Reset. It will be used to switch from
+        Octal DTR mode to legacy mode on shutdown and boot (if enabled).
+
+config SPI_FLASH_SOFT_RESET_ON_BOOT
+       bool "Perform a Software Reset on boot on flashes that boot in stateful mode"
+       depends on SPI_FLASH_SOFT_RESET
+       help
+        Perform a Software Reset on boot to allow detecting flashes that are
+        handed to us in Octal DTR mode. Do not enable this config on flashes
+        that are not supposed to be handed to U-Boot in Octal DTR mode, even
+        if they _do_ support the Soft Reset sequence.
+
 config SPI_FLASH_BAR
        bool "SPI flash Bank/Extended address register support"
-       depends on SPI_FLASH
        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"
-       depends on SPI_FLASH
+config SPI_FLASH_UNLOCK_ALL
+       bool "Unlock the entire SPI flash on u-boot startup"
+       default y
        help
-         Enable this option to support two flash memories connected to a single
-         controller. Currently Xilinx Zynq qspi supports this.
+        Some flashes tend to power up with the software write protection
+        bits set. If this option is set, the whole flash will be unlocked.
 
-if SPI_FLASH
+        For legacy reasons, this option default to y. But if you intend to
+        actually use the software protection bits you should say n here.
 
 config SPI_FLASH_ATMEL
        bool "Atmel SPI flash support"
@@ -81,11 +166,27 @@ config SPI_FLASH_SPANSION
        help
          Add support for various Spansion SPI flash chips (S25FLxxx)
 
+config SPI_FLASH_S28HS512T
+       bool "Cypress S28HS512T chip support"
+       depends on SPI_FLASH_SPANSION
+       help
+        Add support for the Cypress S28HS512T chip. This is a separate config
+        because the fixup hooks for this flash add extra size overhead. Boards
+        that don't use the flash can disable this to save space.
+
 config SPI_FLASH_STMICRO
        bool "STMicro SPI flash support"
        help
          Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx)
 
+config SPI_FLASH_MT35XU
+       bool "Micron MT35XU chip support"
+       depends on SPI_FLASH_STMICRO
+       help
+        Add support for the Micron MT35XU chip. This is a separate config
+        because the fixup hooks for this flash add extra size overhead. Boards
+        that don't use the flash can disable this to save space.
+
 config SPI_FLASH_SST
        bool "SST SPI flash support"
        help
@@ -102,6 +203,12 @@ config SPI_FLASH_XMC
          Add support for various XMC (Wuhan Xinxin Semiconductor
          Manufacturing Corp.) SPI flash chips (XM25xxx)
 
+config SPI_FLASH_XTX
+       bool "XTX SPI flash support"
+       help
+         Add support for various XTX (XTX Technology Limited)
+         SPI flash chips (XT25xxx).
+
 endif
 
 config SPI_FLASH_USE_4K_SECTORS
@@ -136,7 +243,7 @@ config SPI_FLASH_DATAFLASH
 
 config SPI_FLASH_MTD
        bool "SPI Flash MTD support"
-       depends on SPI_FLASH
+       depends on SPI_FLASH && MTD
        help
           Enable the MTD support for spi flash layer, this adapter is for
          translating mtd_read/mtd_write commands into spi_flash_read/write
@@ -146,4 +253,12 @@ config SPI_FLASH_MTD
 
          If unsure, say N
 
+config SPL_SPI_FLASH_MTD
+       bool "SPI flash MTD support for SPL"
+       depends on SPI_FLASH && SPL
+       help
+          Enable the MTD support for the SPI flash layer in SPL.
+
+         If unsure, say N
+
 endmenu # menu "SPI Flash Support"