123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507 |
- 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
- config DM_SPI
- bool "Enable Driver Model for SPI drivers"
- depends on DM
- help
- 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.
- config SPI_MEM
- bool "SPI memory extension"
- help
- Enable this option if you want to enable the SPI memory extension.
- This extension is meant to simplify interaction with SPI memories
- by providing an high-level interface to send memory-like commands.
- 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_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
- 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 || 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
- 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 CORTINA_SFLASH
- bool "Cortina-Access Serial Flash controller driver"
- depends on DM_SPI && SPI_MEM
- help
- Enable the Cortina-Access Serial Flash controller driver. This driver
- can be used to access the SPI NOR/NAND flash on platforms embedding this
- Cortina-Access IP 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 CF_SPI
- bool "ColdFire SPI driver"
- help
- Enable the ColdFire SPI driver. This driver can be used on
- some m68k SoCs.
- config DAVINCI_SPI
- bool "Davinci & Keystone SPI driver"
- depends on ARCH_DAVINCI || ARCH_KEYSTONE
- help
- Enable the Davinci SPI driver
- 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 FSL_QSPI
- bool "Freescale QSPI driver"
- imply SPI_FLASH_BAR
- 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 FSL_QSPI_AHB_FULL_MAP
- bool "Use full AHB memory map space"
- depends on FSL_QSPI
- default y if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP || ARCH_IMX8M
- help
- Enable the Freescale QSPI driver to use full AHB memory map space for
- flash access.
- 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 KIRKWOOD_SPI
- bool "Marvell Kirkwood SPI Driver"
- help
- Enable support for SPI on various Marvell SoCs, such as
- Kirkwood and Armada 375.
- config MESON_SPIFC
- bool "Amlogic Meson SPI Flash Controller driver"
- depends on ARCH_MESON
- help
- Enable the Amlogic Meson SPI Flash Controller SPIFC) driver.
- This driver can be used to access the SPI NOR flash chips on
- Amlogic Meson SoCs.
- 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 MSCC_BB_SPI
- bool "MSCC bitbang SPI driver"
- depends on SOC_VCOREIII
- help
- Enable MSCC bitbang SPI driver. This driver can be used on
- MSCC SOCs.
- config MT7620_SPI
- bool "MediaTek MT7620 SPI driver"
- depends on SOC_MT7620
- help
- Enable the MT7620 SPI driver. This driver can be used to access
- generic SPI devices on MediaTek MT7620 SoC.
- config MT7621_SPI
- bool "MediaTek MT7621 SPI driver"
- depends on SOC_MT7628
- help
- Enable the MT7621 SPI driver. This driver can be used to access
- the SPI NOR flash on platforms embedding this Ralink / MediaTek
- SPI core, like MT7621/7628/7688.
- config MTK_SNOR
- bool "Mediatek SPI-NOR controller driver"
- depends on SPI_MEM
- help
- Enable the Mediatek SPINOR controller driver. This driver has
- better read/write performance with NOR.
- config MTK_SNFI_SPI
- bool "Mediatek SPI memory controller driver"
- depends on SPI_MEM
- help
- 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"
- 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 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 SPI_MXIC
- bool "Macronix MX25F0A SPI controller"
- help
- Enable the Macronix MX25F0A SPI controller driver. This driver
- can be used to access the SPI flash on platforms embedding
- this Macronix 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 OCTEON_SPI
- bool "Octeon SPI driver"
- depends on ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2
- help
- Enable the Octeon SPI driver. This driver can be used to
- access the SPI NOR flash on Octeon II/III and OcteonTX/TX2
- SoC platforms.
- 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.
- 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 PL022_SPI
- bool "ARM AMBA PL022 SSP controller driver"
- depends on ARM
- help
- This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP
- controller. If you have an embedded system with an AMBA(R)
- bus and a PL022 controller, say Y or M here.
- config SPI_QUP
- bool "Qualcomm SPI controller with QUP interface"
- depends on ARCH_IPQ40XX
- help
- Qualcomm Universal Peripheral (QUP) core is an AHB slave that
- provides a common data path (an output FIFO and an input FIFO)
- for serial peripheral interface (SPI) mini-core. SPI in master
- mode supports up to 50MHz, up to four chip selects, programmable
- data path from 4 bits to 32 bits and numerous protocol variants.
- config RENESAS_RPC_SPI
- bool "Renesas RPC SPI driver"
- depends on RCAR_GEN3 || RZA1
- imply SPI_FLASH_BAR
- 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_SFC
- bool "Rockchip SFC Driver"
- help
- Enable the Rockchip SFC Driver for SPI NOR flash. This device is
- a limited purpose SPI controller for driving NOR flash on certain
- Rockchip 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", "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 SOFT_SPI
- bool "Soft SPI driver"
- help
- Enable Soft SPI driver. This driver is to use GPIO simulate
- the SPI protocol.
- config SPI_SUNXI
- bool "Allwinner SoC SPI controllers"
- default ARCH_SUNXI
- help
- Enable the Allwinner SoC SPi controller driver.
- Same controller driver can reuse in all Allwinner SoC variants.
- config STM32_QSPI
- bool "STM32F7 QSPI driver"
- depends on STM32F4 || STM32F7 || ARCH_STM32MP
- 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 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
- 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 TI_QSPI
- bool "TI QSPI driver"
- imply TI_EDMA3
- help
- 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
- 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"
- 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"
- imply SPI_FLASH_BAR
- 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"
- 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 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
- this Freescale eSPI IP core.
- 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 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 SYNQUACER_SPI
- bool "Socionext SynQuacer HS-SPI driver"
- depends on ARCH_SYNQUACER
- help
- Enable the Socionext HS-SPI driver for SynQuacer. This driver can
- be used to access the SPI interface and SPI NOR flash on platforms
- embedding this HS-SPI IP core.
- endif # menu "SPI Support"
|