]> git.sur5r.net Git - u-boot/blobdiff - drivers/spi/Kconfig
spi: zynqmp_gqspi: Add support for ZynqMP qspi driver
[u-boot] / drivers / spi / Kconfig
index e1678e63e6adf976e4514978a3d2e1a9b6634c42..b85fca562899eecc78f853f22ee7579d66cfc068 100644 (file)
@@ -1,6 +1,333 @@
+menuconfig SPI
+       bool "SPI Support"
+
+if SPI
+
 config DM_SPI
        bool "Enable Driver Model for SPI drivers"
        depends on DM
        help
-         If you want to use driver model for SPI drivers, say Y.
-         To use legacy SPI drivers, say N.
+         Enable driver model for SPI. The SPI slave interface
+         (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
+         the SPI uclass. Drivers provide methods to access the SPI
+         buses that they control. The uclass interface is defined in
+         include/spi.h. The existing spi_slave structure is attached
+         as 'parent data' to every slave on each bus. Slaves
+         typically use driver-private data instead of extending the
+         spi_slave structure.
+
+if DM_SPI
+
+config ALTERA_SPI
+       bool "Altera SPI driver"
+       help
+         Enable the Altera SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this Altera
+         IP core. Please find details on the "Embedded Peripherals IP
+         User Guide" of Altera.
+
+config ATCSPI200_SPI
+       bool "Andestech ATCSPI200 SPI driver"
+       help
+         Enable the Andestech ATCSPI200 SPI driver. This driver can be
+         used to access the SPI flash on AE3XX and AE250 platforms embedding
+         this Andestech IP core.
+
+config ATH79_SPI
+       bool "Atheros SPI driver"
+       depends on ARCH_ATH79
+       help
+         Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
+         to access SPI NOR flash and other SPI peripherals. This driver
+         uses driver model and requires a device tree binding to operate.
+         please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
+
+config ATMEL_SPI
+       bool "Atmel SPI driver"
+       default y if ARCH_AT91
+       help
+         This enables driver for the Atmel SPI Controller, present on
+         many AT91 (ARM) chips. This driver can be used to access
+         the SPI Flash, such as AT25DF321.
+
+config BCM63XX_HSSPI
+       bool "BCM63XX HSSPI driver"
+       depends on ARCH_BMIPS
+       help
+         Enable the BCM6328 HSSPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this Broadcom
+         SPI core.
+
+config BCM63XX_SPI
+       bool "BCM6348 SPI driver"
+       depends on ARCH_BMIPS
+       help
+         Enable the BCM6348/BCM6358 SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding these Broadcom
+         SPI cores.
+
+config BCMSTB_SPI
+       bool "BCMSTB SPI driver"
+       help
+         Enable the Broadcom set-top box SPI driver. This driver can
+         be used to access the SPI flash on platforms embedding this
+         Broadcom SPI core.
+
+config CADENCE_QSPI
+       bool "Cadence QSPI driver"
+       help
+         Enable the Cadence Quad-SPI (QSPI) driver. This driver can be
+         used to access the SPI NOR flash on platforms embedding this
+         Cadence IP core.
+
+config DESIGNWARE_SPI
+       bool "Designware SPI driver"
+       help
+         Enable the Designware SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this Designware
+         IP core.
+
+config EXYNOS_SPI
+       bool "Samsung Exynos SPI driver"
+       help
+         Enable the Samsung Exynos SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this Samsung
+         Exynos IP core.
+
+config FSL_DSPI
+       bool "Freescale DSPI driver"
+       help
+         Enable the Freescale DSPI driver. This driver can be used to
+         access the SPI NOR flash and SPI Data flash on platforms embedding
+         this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms
+         use this driver.
+
+config ICH_SPI
+       bool "Intel ICH SPI driver"
+       help
+         Enable the Intel ICH SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this Intel
+         ICH IP core.
+
+config MVEBU_A3700_SPI
+       bool "Marvell Armada 3700 SPI driver"
+       select CLK_ARMADA_3720
+       help
+         Enable the Marvell Armada 3700 SPI driver. This driver can be
+         used to access the SPI NOR flash on platforms embedding this
+         Marvell IP core.
+
+config PIC32_SPI
+       bool "Microchip PIC32 SPI driver"
+       depends on MACH_PIC32
+       help
+         Enable the Microchip PIC32 SPI driver. This driver can be used
+         to access the SPI NOR flash, MMC-over-SPI on platforms based on
+         Microchip PIC32 family devices.
+
+config RENESAS_RPC_SPI
+       bool "Renesas RPC SPI driver"
+       depends on RCAR_GEN3
+       help
+         Enable the Renesas RPC SPI driver, used to access SPI NOR flash
+         on Renesas RCar Gen3 SoCs. This uses driver model and requires a
+         device tree binding to operate.
+
+config ROCKCHIP_SPI
+       bool "Rockchip SPI driver"
+       help
+         Enable the Rockchip SPI driver, used to access SPI NOR flash and
+         other SPI peripherals (such as the Chrome OS EC) on Rockchip SoCs.
+         This uses driver model and requires a device tree binding to
+         operate.
+
+config SANDBOX_SPI
+       bool "Sandbox SPI driver"
+       depends on SANDBOX && DM
+       help
+         Enable SPI support for sandbox. This is an emulation of a real SPI
+         bus. Devices can be attached to the bus using the device tree
+         which specifies the driver to use. As an example, see this device
+         tree fragment from sandbox.dts. It shows that the SPI bus has a
+         single flash device on chip select 0 which is emulated by the driver
+         for "sandbox,spi-flash", which is in drivers/mtd/spi/sandbox.c.
+
+         spi@0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0>;
+               compatible = "sandbox,spi";
+               cs-gpios = <0>, <&gpio_a 0>;
+               flash@0 {
+                       reg = <0>;
+                       compatible = "spansion,m25p16", "sandbox,spi-flash";
+                       spi-max-frequency = <40000000>;
+                       sandbox,filename = "spi.bin";
+               };
+         };
+
+config STM32_QSPI
+       bool "STM32F7 QSPI driver"
+       depends on STM32F7
+       help
+         Enable the STM32F7 Quad-SPI (QSPI) driver. This driver can be
+         used to access the SPI NOR flash chips on platforms embedding
+         this ST IP core.
+
+config TEGRA114_SPI
+       bool "nVidia Tegra114 SPI driver"
+       help
+         Enable the nVidia Tegra114 SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this nVidia Tegra114
+         IP core.
+
+         This controller is different than the older SoCs SPI controller and
+         also register interface get changed with this controller.
+
+config TEGRA20_SFLASH
+       bool "nVidia Tegra20 Serial Flash controller driver"
+       help
+         Enable the nVidia Tegra20 Serial Flash controller driver. This driver
+         can be used to access the SPI NOR flash on platforms embedding this
+         nVidia Tegra20 IP core.
+
+config TEGRA20_SLINK
+       bool "nVidia Tegra20/Tegra30 SLINK driver"
+       help
+         Enable the nVidia Tegra20/Tegra30 SLINK driver. This driver can
+         be used to access the SPI NOR flash on platforms embedding this
+         nVidia Tegra20/Tegra30 IP cores.
+
+config TEGRA210_QSPI
+       bool "nVidia Tegra210 QSPI driver"
+       help
+         Enable the Tegra Quad-SPI (QSPI) driver for T210. This driver
+         be used to access SPI chips on platforms embedding this
+         NVIDIA Tegra210 IP core.
+
+config XILINX_SPI
+       bool "Xilinx SPI driver"
+       help
+         Enable the Xilinx SPI driver from the Xilinx EDK. This SPI
+         controller support 8 bit SPI transfers only, with or w/o FIFO.
+         For more info on Xilinx SPI Register Definitions and Overview
+         see driver file - drivers/spi/xilinx_spi.c
+
+config ZYNQ_SPI
+       bool "Zynq SPI driver"
+       depends on ARCH_ZYNQ || ARCH_ZYNQMP
+       help
+         Enable the Zynq SPI driver. This driver can be used to
+         access the SPI NOR flash on platforms embedding this Zynq
+         SPI IP core.
+
+config ZYNQ_QSPI
+       bool "Zynq QSPI driver"
+       depends on ARCH_ZYNQ
+       help
+         Enable the Zynq Quad-SPI (QSPI) driver. This driver can be
+         used to access the SPI NOR flash on platforms embedding this
+         Zynq QSPI IP core. This IP is used to connect the flash in
+         4-bit qspi, 8-bit dual stacked and shared 4-bit dual parallel.
+
+config ZYNQMP_GQSPI
+       bool "Configure ZynqMP Generic QSPI"
+       depends on ARCH_ZYNQMP
+       help
+         This option is used to enable ZynqMP QSPI controller driver which
+         is used to communicate with qspi flash devices.
+
+endif # if DM_SPI
+
+config SOFT_SPI
+       bool "Soft SPI driver"
+       help
+        Enable Soft SPI driver. This driver is to use GPIO simulate
+        the SPI protocol.
+
+config CF_SPI
+       bool "ColdFire SPI driver"
+       help
+         Enable the ColdFire SPI driver. This driver can be used on
+         some m68k SoCs.
+
+config FSL_ESPI
+       bool "Freescale eSPI driver"
+       help
+         Enable the Freescale eSPI driver. This driver can be used to
+         access the SPI interface and SPI NOR flash on platforms embedding
+         this Freescale eSPI IP core.
+
+config FSL_QSPI
+       bool "Freescale QSPI driver"
+       help
+         Enable the Freescale Quad-SPI (QSPI) driver. This driver can be
+         used to access the SPI NOR flash on platforms embedding this
+         Freescale IP core.
+
+config DAVINCI_SPI
+       bool "Davinci & Keystone SPI driver"
+       depends on ARCH_DAVINCI || ARCH_KEYSTONE
+       help
+         Enable the Davinci SPI driver
+
+config SH_SPI
+       bool "SuperH SPI driver"
+       help
+         Enable the SuperH SPI controller driver. This driver can be used
+         on various SuperH SoCs, such as SH7757.
+
+config SH_QSPI
+       bool "Renesas Quad SPI driver"
+       help
+         Enable the Renesas Quad SPI controller driver. This driver can be
+         used on Renesas SoCs.
+
+config TI_QSPI
+       bool "TI QSPI driver"
+       help
+         Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx evms.
+         This driver support spi flash single, quad and memory reads.
+
+config KIRKWOOD_SPI
+       bool "Marvell Kirkwood SPI Driver"
+       help
+         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 MPC8XX_SPI
+       bool "MPC8XX SPI Driver"
+       depends on MPC8xx
+       help
+         Enable support for SPI on MPC8XX
+
+config MPC8XXX_SPI
+       bool "MPC8XXX SPI Driver"
+       help
+         Enable support for SPI on the MPC8XXX PowerPC SoCs.
+
+config MXC_SPI
+       bool "MXC SPI Driver"
+       help
+         Enable the MXC SPI controller driver. This driver can be used
+         on various i.MX SoCs such as i.MX31/35/51/6/7.
+
+config MXS_SPI
+       bool "MXS SPI Driver"
+       help
+         Enable the MXS SPI controller driver. This driver can be used
+         on the i.MX23 and i.MX28 SoCs.
+
+config OMAP3_SPI
+       bool "McSPI driver for OMAP"
+       help
+         SPI master controller for OMAP24XX and later Multichannel SPI
+         (McSPI). This driver be used to access SPI chips on platforms
+         embedding this OMAP3 McSPI IP core.
+
+endif # menu "SPI Support"