phy: Use _nodev naming convention if non-device clients
[oweals/u-boot.git] / drivers / spi / Kconfig
index c2e9180defa823bf78e8dce1b41a5b65e8a3af1d..dccd5ea0d9a8936cae152975ab340d377bf1914f 100644 (file)
@@ -1,5 +1,22 @@
 menuconfig SPI
        bool "SPI Support"
+       help
+         The "Serial Peripheral Interface" is a low level synchronous
+          protocol.  Chips that support SPI can have data transfer rates
+          up to several tens of Mbit/sec.  Chips are addressed with a
+          controller and a chipselect.  Most SPI slaves don't support
+          dynamic device discovery; some are even write-only or read-only.
+
+          SPI is widely used by microcontrollers to talk with sensors,
+          eeprom and flash memory, codecs and various other controller
+          chips, analog to digital (and d-to-a) converters, and more.
+          MMC and SD cards can be accessed using SPI protocol; and for
+          DataFlash cards used in MMC sockets, SPI must always be used.
+
+          SPI is one of a family of similar protocols using a four wire
+          interface (select, clock, data in, data out) including Microwire
+          (half duplex), SSP, SSI, and PSP.  This driver framework should
+          work with most such devices and controllers.
 
 if SPI
 
@@ -49,6 +66,14 @@ config ATH79_SPI
          uses driver model and requires a device tree binding to operate.
          please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
 
+config ATMEL_QSPI
+       bool "Atmel Quad SPI Controller"
+       depends on ARCH_AT91
+       help
+         Enable the Atmel Quad SPI controller in master mode. This driver
+         does not support generic SPI. The implementation supports only the
+         spi-mem interface.
+
 config ATMEL_SPI
        bool "Atmel SPI driver"
        default y if ARCH_AT91
@@ -59,7 +84,8 @@ config ATMEL_SPI
 
 config BCM63XX_HSSPI
        bool "BCM63XX HSSPI driver"
-       depends on ARCH_BMIPS
+       depends on (ARCH_BMIPS || ARCH_BCM68360 || \
+                   ARCH_BCM6858 || ARCH_BCM63158)
        help
          Enable the BCM6328 HSSPI driver. This driver can be used to
          access the SPI NOR flash on platforms embedding this Broadcom
@@ -117,7 +143,6 @@ config FSL_DSPI
 
 config ICH_SPI
        bool "Intel ICH SPI driver"
-       imply SPI_FLASH_BAR
        help
          Enable the Intel ICH SPI driver. This driver can be used to
          access the SPI NOR flash on platforms embedding this Intel
@@ -150,13 +175,14 @@ config MT7621_SPI
          the SPI NOR flash on platforms embedding this Ralink / MediaTek
          SPI core, like MT7621/7628/7688.
 
-config MTK_QSPI
-       bool "Mediatek QSPI driver"
-       imply SPI_FLASH_BAR
+config MTK_SNFI_SPI
+       bool "Mediatek SPI memory controller driver"
+       depends on SPI_MEM
        help
-         Enable the Mediatek QSPI driver. This driver can be
-         used to access the SPI NOR flash on platforms embedding this
-         Mediatek QSPI IP core.
+         Enable the Mediatek SPI memory controller driver. This driver is
+         originally based on the MediaTek SNFI IP core. It can only be
+         used to access SPI memory devices like SPI-NOR or SPI-NAND on
+         platforms embedding this IP core, like MT7622/M7629.
 
 config MVEBU_A3700_SPI
        bool "Marvell Armada 3700 SPI driver"
@@ -166,6 +192,13 @@ config MVEBU_A3700_SPI
          used to access the SPI NOR flash on platforms embedding this
          Marvell IP core.
 
+config NXP_FSPI
+       bool "NXP FlexSPI driver"
+       depends on SPI_MEM
+       help
+         Enable the NXP FlexSPI (FSPI) driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this NXP IP core.
+
 config PIC32_SPI
        bool "Microchip PIC32 SPI driver"
        depends on MACH_PIC32
@@ -218,14 +251,23 @@ config SANDBOX_SPI
                cs-gpios = <0>, <&gpio_a 0>;
                flash@0 {
                        reg = <0>;
-                       compatible = "spansion,m25p16", "sandbox,spi-flash";
+                       compatible = "spansion,m25p16", "jedec,spi-nor";
                        spi-max-frequency = <40000000>;
                        sandbox,filename = "spi.bin";
                };
          };
 
+config SPI_SIFIVE
+       bool "SiFive SPI driver"
+       help
+         This driver supports the SiFive SPI IP. If unsure say N.
+         Enable the SiFive SPI controller driver.
+
+         The SiFive SPI controller driver is found on various SiFive SoCs.
+
 config SPI_SUNXI
        bool "Allwinner SoC SPI controllers"
+       default ARCH_SUNXI
        help
          Enable the Allwinner SoC SPi controller driver.
 
@@ -239,6 +281,14 @@ config STM32_QSPI
          used to access the SPI NOR flash chips on platforms embedding
          this ST IP core.
 
+config STM32_SPI
+       bool "STM32 SPI driver"
+       depends on ARCH_STM32MP
+       help
+         Enable the STM32 Serial Peripheral Interface (SPI) driver for STM32MP
+         SoCs. This uses driver model and requires a device tree binding to
+         operate.
+
 config TEGRA114_SPI
        bool "nVidia Tegra114 SPI driver"
        help
@@ -277,6 +327,14 @@ config TI_QSPI
          Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
          This driver support spi flash single, quad and memory reads.
 
+config UNIPHIER_SPI
+       bool "Socionext UniPhier SPI driver"
+       depends on ARCH_UNIPHIER
+       help
+         Enable the Socionext UniPhier SPI driver. This driver can
+         be used to access SPI chips on platforms embedding this
+         UniPhier IP core.
+
 config XILINX_SPI
        bool "Xilinx SPI driver"
        help
@@ -314,6 +372,7 @@ endif # if DM_SPI
 
 config SOFT_SPI
        bool "Soft SPI driver"
+       depends on DM_SPI || (DEPRECATED && !DM_SPI)
        help
         Enable Soft SPI driver. This driver is to use GPIO simulate
         the SPI protocol.
@@ -333,6 +392,7 @@ config CF_SPI
 
 config FSL_ESPI
        bool "Freescale eSPI driver"
+       imply SPI_FLASH_BAR
        help
          Enable the Freescale eSPI driver. This driver can be used to
          access the SPI interface and SPI NOR flash on platforms embedding
@@ -371,11 +431,6 @@ config KIRKWOOD_SPI
          Enable support for SPI on various Marvell SoCs, such as
          Kirkwood and Armada 375.
 
-config LPC32XX_SSP
-       bool "LPC32XX SPI Driver"
-       help
-         Enable support for SPI on LPC32xx
-
 config MXC_SPI
        bool "MXC SPI Driver"
        help
@@ -384,7 +439,6 @@ config MXC_SPI
 
 config MXS_SPI
        bool "MXS SPI Driver"
-       depends on DEPRECATED
        help
          Enable the MXS SPI controller driver. This driver can be used
          on the i.MX23 and i.MX28 SoCs.