18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# SPI driver configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_cimenuconfig SPI 68c2ecf20Sopenharmony_ci bool "SPI support" 78c2ecf20Sopenharmony_ci depends on HAS_IOMEM 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci The "Serial Peripheral Interface" is a low level synchronous 108c2ecf20Sopenharmony_ci protocol. Chips that support SPI can have data transfer rates 118c2ecf20Sopenharmony_ci up to several tens of Mbit/sec. Chips are addressed with a 128c2ecf20Sopenharmony_ci controller and a chipselect. Most SPI slaves don't support 138c2ecf20Sopenharmony_ci dynamic device discovery; some are even write-only or read-only. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci SPI is widely used by microcontrollers to talk with sensors, 168c2ecf20Sopenharmony_ci eeprom and flash memory, codecs and various other controller 178c2ecf20Sopenharmony_ci chips, analog to digital (and d-to-a) converters, and more. 188c2ecf20Sopenharmony_ci MMC and SD cards can be accessed using SPI protocol; and for 198c2ecf20Sopenharmony_ci DataFlash cards used in MMC sockets, SPI must always be used. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci SPI is one of a family of similar protocols using a four wire 228c2ecf20Sopenharmony_ci interface (select, clock, data in, data out) including Microwire 238c2ecf20Sopenharmony_ci (half duplex), SSP, SSI, and PSP. This driver framework should 248c2ecf20Sopenharmony_ci work with most such devices and controllers. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciif SPI 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciconfig SPI_DEBUG 298c2ecf20Sopenharmony_ci bool "Debug support for SPI drivers" 308c2ecf20Sopenharmony_ci depends on DEBUG_KERNEL 318c2ecf20Sopenharmony_ci help 328c2ecf20Sopenharmony_ci Say "yes" to enable debug messaging (like dev_dbg and pr_debug), 338c2ecf20Sopenharmony_ci sysfs, and debugfs support in SPI controller and protocol drivers. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci# 368c2ecf20Sopenharmony_ci# MASTER side ... talking to discrete SPI slave chips including microcontrollers 378c2ecf20Sopenharmony_ci# 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciconfig SPI_MASTER 408c2ecf20Sopenharmony_ci# bool "SPI Master Support" 418c2ecf20Sopenharmony_ci bool 428c2ecf20Sopenharmony_ci default SPI 438c2ecf20Sopenharmony_ci help 448c2ecf20Sopenharmony_ci If your system has an master-capable SPI controller (which 458c2ecf20Sopenharmony_ci provides the clock and chipselect), you can enable that 468c2ecf20Sopenharmony_ci controller and the protocol drivers for the SPI slave chips 478c2ecf20Sopenharmony_ci that are connected. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciif SPI_MASTER 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ciconfig SPI_MEM 528c2ecf20Sopenharmony_ci bool "SPI memory extension" 538c2ecf20Sopenharmony_ci help 548c2ecf20Sopenharmony_ci Enable this option if you want to enable the SPI memory extension. 558c2ecf20Sopenharmony_ci This extension is meant to simplify interaction with SPI memories 568c2ecf20Sopenharmony_ci by providing a high-level interface to send memory-like commands. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_cicomment "SPI Master Controller Drivers" 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciconfig SPI_ALTERA 618c2ecf20Sopenharmony_ci tristate "Altera SPI Controller" 628c2ecf20Sopenharmony_ci select REGMAP_MMIO 638c2ecf20Sopenharmony_ci help 648c2ecf20Sopenharmony_ci This is the driver for the Altera SPI Controller. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciconfig SPI_AR934X 678c2ecf20Sopenharmony_ci tristate "Qualcomm Atheros AR934X/QCA95XX SPI controller driver" 688c2ecf20Sopenharmony_ci depends on ATH79 || COMPILE_TEST 698c2ecf20Sopenharmony_ci help 708c2ecf20Sopenharmony_ci This enables support for the SPI controller present on the 718c2ecf20Sopenharmony_ci Qualcomm Atheros AR934X/QCA95XX SoCs. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciconfig SPI_ATH79 748c2ecf20Sopenharmony_ci tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver" 758c2ecf20Sopenharmony_ci depends on ATH79 || COMPILE_TEST 768c2ecf20Sopenharmony_ci select SPI_BITBANG 778c2ecf20Sopenharmony_ci help 788c2ecf20Sopenharmony_ci This enables support for the SPI controller present on the 798c2ecf20Sopenharmony_ci Atheros AR71XX/AR724X/AR913X SoCs. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciconfig SPI_ARMADA_3700 828c2ecf20Sopenharmony_ci tristate "Marvell Armada 3700 SPI Controller" 838c2ecf20Sopenharmony_ci depends on (ARCH_MVEBU && OF) || COMPILE_TEST 848c2ecf20Sopenharmony_ci help 858c2ecf20Sopenharmony_ci This enables support for the SPI controller present on the 868c2ecf20Sopenharmony_ci Marvell Armada 3700 SoCs. 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ciconfig SPI_ATMEL 898c2ecf20Sopenharmony_ci tristate "Atmel SPI Controller" 908c2ecf20Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 918c2ecf20Sopenharmony_ci depends on OF 928c2ecf20Sopenharmony_ci help 938c2ecf20Sopenharmony_ci This selects a driver for the Atmel SPI Controller, present on 948c2ecf20Sopenharmony_ci many AT91 ARM chips. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciconfig SPI_AT91_USART 978c2ecf20Sopenharmony_ci tristate "Atmel USART Controller SPI driver" 988c2ecf20Sopenharmony_ci depends on (ARCH_AT91 || COMPILE_TEST) 998c2ecf20Sopenharmony_ci depends on MFD_AT91_USART 1008c2ecf20Sopenharmony_ci help 1018c2ecf20Sopenharmony_ci This selects a driver for the AT91 USART Controller as SPI Master, 1028c2ecf20Sopenharmony_ci present on AT91 and SAMA5 SoC series. 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ciconfig SPI_ATMEL_QUADSPI 1058c2ecf20Sopenharmony_ci tristate "Atmel Quad SPI Controller" 1068c2ecf20Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 1078c2ecf20Sopenharmony_ci depends on OF && HAS_IOMEM 1088c2ecf20Sopenharmony_ci help 1098c2ecf20Sopenharmony_ci This enables support for the Quad SPI controller in master mode. 1108c2ecf20Sopenharmony_ci This driver does not support generic SPI. The implementation only 1118c2ecf20Sopenharmony_ci supports spi-mem interface. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ciconfig SPI_AU1550 1148c2ecf20Sopenharmony_ci tristate "Au1550/Au1200/Au1300 SPI Controller" 1158c2ecf20Sopenharmony_ci depends on MIPS_ALCHEMY 1168c2ecf20Sopenharmony_ci select SPI_BITBANG 1178c2ecf20Sopenharmony_ci help 1188c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for the 1198c2ecf20Sopenharmony_ci PSC SPI controller found on Au1550, Au1200 and Au1300 series. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciconfig SPI_AXI_SPI_ENGINE 1228c2ecf20Sopenharmony_ci tristate "Analog Devices AXI SPI Engine controller" 1238c2ecf20Sopenharmony_ci depends on HAS_IOMEM 1248c2ecf20Sopenharmony_ci help 1258c2ecf20Sopenharmony_ci This enables support for the Analog Devices AXI SPI Engine SPI controller. 1268c2ecf20Sopenharmony_ci It is part of the SPI Engine framework that is used in some Analog Devices 1278c2ecf20Sopenharmony_ci reference designs for FPGAs. 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ciconfig SPI_BCM2835 1308c2ecf20Sopenharmony_ci tristate "BCM2835 SPI controller" 1318c2ecf20Sopenharmony_ci depends on GPIOLIB 1328c2ecf20Sopenharmony_ci depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci This selects a driver for the Broadcom BCM2835 SPI master. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci The BCM2835 contains two types of SPI master controller; the 1378c2ecf20Sopenharmony_ci "universal SPI master", and the regular SPI controller. This driver 1388c2ecf20Sopenharmony_ci is for the regular SPI controller. Slave mode operation is not also 1398c2ecf20Sopenharmony_ci not supported. 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ciconfig SPI_BCM2835AUX 1428c2ecf20Sopenharmony_ci tristate "BCM2835 SPI auxiliary controller" 1438c2ecf20Sopenharmony_ci depends on ((ARCH_BCM2835 || ARCH_BRCMSTB) && GPIOLIB) || COMPILE_TEST 1448c2ecf20Sopenharmony_ci help 1458c2ecf20Sopenharmony_ci This selects a driver for the Broadcom BCM2835 SPI aux master. 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci The BCM2835 contains two types of SPI master controller; the 1488c2ecf20Sopenharmony_ci "universal SPI master", and the regular SPI controller. 1498c2ecf20Sopenharmony_ci This driver is for the universal/auxiliary SPI controller. 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciconfig SPI_BCM63XX 1528c2ecf20Sopenharmony_ci tristate "Broadcom BCM63xx SPI controller" 1538c2ecf20Sopenharmony_ci depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST 1548c2ecf20Sopenharmony_ci help 1558c2ecf20Sopenharmony_ci Enable support for the SPI controller on the Broadcom BCM63xx SoCs. 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ciconfig SPI_BCM63XX_HSSPI 1588c2ecf20Sopenharmony_ci tristate "Broadcom BCM63XX HS SPI controller driver" 1598c2ecf20Sopenharmony_ci depends on BCM63XX || BMIPS_GENERIC || ARCH_BCM_63XX || COMPILE_TEST 1608c2ecf20Sopenharmony_ci help 1618c2ecf20Sopenharmony_ci This enables support for the High Speed SPI controller present on 1628c2ecf20Sopenharmony_ci newer Broadcom BCM63XX SoCs. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ciconfig SPI_BCM_QSPI 1658c2ecf20Sopenharmony_ci tristate "Broadcom BSPI and MSPI controller support" 1668c2ecf20Sopenharmony_ci depends on ARCH_BRCMSTB || ARCH_BCM || ARCH_BCM_IPROC || \ 1678c2ecf20Sopenharmony_ci BMIPS_GENERIC || COMPILE_TEST 1688c2ecf20Sopenharmony_ci default ARCH_BCM_IPROC 1698c2ecf20Sopenharmony_ci help 1708c2ecf20Sopenharmony_ci Enables support for the Broadcom SPI flash and MSPI controller. 1718c2ecf20Sopenharmony_ci Select this option for any one of BRCMSTB, iProc NSP and NS2 SoCs 1728c2ecf20Sopenharmony_ci based platforms. This driver works for both SPI master for SPI NOR 1738c2ecf20Sopenharmony_ci flash device as well as MSPI device. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ciconfig SPI_BITBANG 1768c2ecf20Sopenharmony_ci tristate "Utilities for Bitbanging SPI masters" 1778c2ecf20Sopenharmony_ci help 1788c2ecf20Sopenharmony_ci With a few GPIO pins, your system can bitbang the SPI protocol. 1798c2ecf20Sopenharmony_ci Select this to get SPI support through I/O pins (GPIO, parallel 1808c2ecf20Sopenharmony_ci port, etc). Or, some systems' SPI master controller drivers use 1818c2ecf20Sopenharmony_ci this code to manage the per-word or per-transfer accesses to the 1828c2ecf20Sopenharmony_ci hardware shift registers. 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci This is library code, and is automatically selected by drivers that 1858c2ecf20Sopenharmony_ci need it. You only need to select this explicitly to support driver 1868c2ecf20Sopenharmony_ci modules that aren't part of this kernel tree. 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ciconfig SPI_BUTTERFLY 1898c2ecf20Sopenharmony_ci tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)" 1908c2ecf20Sopenharmony_ci depends on PARPORT 1918c2ecf20Sopenharmony_ci select SPI_BITBANG 1928c2ecf20Sopenharmony_ci help 1938c2ecf20Sopenharmony_ci This uses a custom parallel port cable to connect to an AVR 1948c2ecf20Sopenharmony_ci Butterfly <http://www.atmel.com/products/avr/butterfly>, an 1958c2ecf20Sopenharmony_ci inexpensive battery powered microcontroller evaluation board. 1968c2ecf20Sopenharmony_ci This same cable can be used to flash new firmware. 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ciconfig SPI_CADENCE 1998c2ecf20Sopenharmony_ci tristate "Cadence SPI controller" 2008c2ecf20Sopenharmony_ci help 2018c2ecf20Sopenharmony_ci This selects the Cadence SPI controller master driver 2028c2ecf20Sopenharmony_ci used by Xilinx Zynq and ZynqMP. 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ciconfig SPI_CADENCE_QUADSPI 2058c2ecf20Sopenharmony_ci tristate "Cadence Quad SPI controller" 2068c2ecf20Sopenharmony_ci depends on OF && (ARM || ARM64 || COMPILE_TEST) 2078c2ecf20Sopenharmony_ci help 2088c2ecf20Sopenharmony_ci Enable support for the Cadence Quad SPI Flash controller. 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci Cadence QSPI is a specialized controller for connecting an SPI 2118c2ecf20Sopenharmony_ci Flash over 1/2/4-bit wide bus. Enable this option if you have a 2128c2ecf20Sopenharmony_ci device with a Cadence QSPI controller and want to access the 2138c2ecf20Sopenharmony_ci Flash as an MTD device. 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ciconfig SPI_CLPS711X 2168c2ecf20Sopenharmony_ci tristate "CLPS711X host SPI controller" 2178c2ecf20Sopenharmony_ci depends on ARCH_CLPS711X || COMPILE_TEST 2188c2ecf20Sopenharmony_ci help 2198c2ecf20Sopenharmony_ci This enables dedicated general purpose SPI/Microwire1-compatible 2208c2ecf20Sopenharmony_ci master mode interface (SSI1) for CLPS711X-based CPUs. 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ciconfig SPI_COLDFIRE_QSPI 2238c2ecf20Sopenharmony_ci tristate "Freescale Coldfire QSPI controller" 2248c2ecf20Sopenharmony_ci depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x) 2258c2ecf20Sopenharmony_ci help 2268c2ecf20Sopenharmony_ci This enables support for the Coldfire QSPI controller in master 2278c2ecf20Sopenharmony_ci mode. 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ciconfig SPI_DAVINCI 2308c2ecf20Sopenharmony_ci tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller" 2318c2ecf20Sopenharmony_ci depends on ARCH_DAVINCI || ARCH_KEYSTONE 2328c2ecf20Sopenharmony_ci select SPI_BITBANG 2338c2ecf20Sopenharmony_ci help 2348c2ecf20Sopenharmony_ci SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules. 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ciconfig SPI_DESIGNWARE 2378c2ecf20Sopenharmony_ci tristate "DesignWare SPI controller core support" 2388c2ecf20Sopenharmony_ci imply SPI_MEM 2398c2ecf20Sopenharmony_ci help 2408c2ecf20Sopenharmony_ci general driver for SPI controller core from DesignWare 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ciif SPI_DESIGNWARE 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ciconfig SPI_DW_DMA 2458c2ecf20Sopenharmony_ci bool "DMA support for DW SPI controller" 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ciconfig SPI_DW_PCI 2488c2ecf20Sopenharmony_ci tristate "PCI interface driver for DW SPI core" 2498c2ecf20Sopenharmony_ci depends on PCI 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ciconfig SPI_DW_MMIO 2528c2ecf20Sopenharmony_ci tristate "Memory-mapped io interface driver for DW SPI core" 2538c2ecf20Sopenharmony_ci depends on HAS_IOMEM 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ciconfig SPI_DW_BT1 2568c2ecf20Sopenharmony_ci tristate "Baikal-T1 SPI driver for DW SPI core" 2578c2ecf20Sopenharmony_ci depends on MIPS_BAIKAL_T1 || COMPILE_TEST 2588c2ecf20Sopenharmony_ci select MULTIPLEXER 2598c2ecf20Sopenharmony_ci help 2608c2ecf20Sopenharmony_ci Baikal-T1 SoC is equipped with three DW APB SSI-based MMIO SPI 2618c2ecf20Sopenharmony_ci controllers. Two of them are pretty much normal: with IRQ, DMA, 2628c2ecf20Sopenharmony_ci FIFOs of 64 words depth, 4x CSs, but the third one as being a 2638c2ecf20Sopenharmony_ci part of the Baikal-T1 System Boot Controller has got a very 2648c2ecf20Sopenharmony_ci limited resources: no IRQ, no DMA, only a single native 2658c2ecf20Sopenharmony_ci chip-select and Tx/Rx FIFO with just 8 words depth available. 2668c2ecf20Sopenharmony_ci The later one is normally connected to an external SPI-nor flash 2678c2ecf20Sopenharmony_ci of 128Mb (in general can be of bigger size). 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ciconfig SPI_DW_BT1_DIRMAP 2708c2ecf20Sopenharmony_ci bool "Directly mapped Baikal-T1 Boot SPI flash support" 2718c2ecf20Sopenharmony_ci depends on SPI_DW_BT1 2728c2ecf20Sopenharmony_ci help 2738c2ecf20Sopenharmony_ci Directly mapped SPI flash memory is an interface specific to the 2748c2ecf20Sopenharmony_ci Baikal-T1 System Boot Controller. It is a 16MB MMIO region, which 2758c2ecf20Sopenharmony_ci can be used to access a peripheral memory device just by 2768c2ecf20Sopenharmony_ci reading/writing data from/to it. Note that the system APB bus 2778c2ecf20Sopenharmony_ci will stall during each IO from/to the dirmap region until the 2788c2ecf20Sopenharmony_ci operation is finished. So try not to use it concurrently with 2798c2ecf20Sopenharmony_ci time-critical tasks (like the SPI memory operations implemented 2808c2ecf20Sopenharmony_ci in this driver). 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ciendif 2838c2ecf20Sopenharmony_ci 2848c2ecf20Sopenharmony_ciconfig SPI_DLN2 2858c2ecf20Sopenharmony_ci tristate "Diolan DLN-2 USB SPI adapter" 2868c2ecf20Sopenharmony_ci depends on MFD_DLN2 2878c2ecf20Sopenharmony_ci help 2888c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for Diolan 2898c2ecf20Sopenharmony_ci DLN2, a USB to SPI interface. 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 2928c2ecf20Sopenharmony_ci will be called spi-dln2. 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ciconfig SPI_EFM32 2958c2ecf20Sopenharmony_ci tristate "EFM32 SPI controller" 2968c2ecf20Sopenharmony_ci depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) 2978c2ecf20Sopenharmony_ci select SPI_BITBANG 2988c2ecf20Sopenharmony_ci help 2998c2ecf20Sopenharmony_ci Driver for the spi controller found on Energy Micro's EFM32 SoCs. 3008c2ecf20Sopenharmony_ci 3018c2ecf20Sopenharmony_ciconfig SPI_EP93XX 3028c2ecf20Sopenharmony_ci tristate "Cirrus Logic EP93xx SPI controller" 3038c2ecf20Sopenharmony_ci depends on ARCH_EP93XX || COMPILE_TEST 3048c2ecf20Sopenharmony_ci help 3058c2ecf20Sopenharmony_ci This enables using the Cirrus EP93xx SPI controller in master 3068c2ecf20Sopenharmony_ci mode. 3078c2ecf20Sopenharmony_ci 3088c2ecf20Sopenharmony_ciconfig SPI_FALCON 3098c2ecf20Sopenharmony_ci bool "Falcon SPI controller support" 3108c2ecf20Sopenharmony_ci depends on SOC_FALCON 3118c2ecf20Sopenharmony_ci help 3128c2ecf20Sopenharmony_ci The external bus unit (EBU) found on the FALC-ON SoC has SPI 3138c2ecf20Sopenharmony_ci emulation that is designed for serial flash access. This driver 3148c2ecf20Sopenharmony_ci has only been tested with m25p80 type chips. The hardware has no 3158c2ecf20Sopenharmony_ci support for other types of SPI peripherals. 3168c2ecf20Sopenharmony_ci 3178c2ecf20Sopenharmony_ciconfig SPI_FSI 3188c2ecf20Sopenharmony_ci tristate "FSI SPI driver" 3198c2ecf20Sopenharmony_ci depends on FSI 3208c2ecf20Sopenharmony_ci help 3218c2ecf20Sopenharmony_ci This enables support for the driver for FSI bus attached SPI 3228c2ecf20Sopenharmony_ci controllers. 3238c2ecf20Sopenharmony_ci 3248c2ecf20Sopenharmony_ciconfig SPI_FSL_LPSPI 3258c2ecf20Sopenharmony_ci tristate "Freescale i.MX LPSPI controller" 3268c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 3278c2ecf20Sopenharmony_ci help 3288c2ecf20Sopenharmony_ci This enables Freescale i.MX LPSPI controllers in master mode. 3298c2ecf20Sopenharmony_ci 3308c2ecf20Sopenharmony_ciconfig SPI_FSL_QUADSPI 3318c2ecf20Sopenharmony_ci tristate "Freescale QSPI controller" 3328c2ecf20Sopenharmony_ci depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST 3338c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3348c2ecf20Sopenharmony_ci help 3358c2ecf20Sopenharmony_ci This enables support for the Quad SPI controller in master mode. 3368c2ecf20Sopenharmony_ci Up to four flash chips can be connected on two buses with two 3378c2ecf20Sopenharmony_ci chipselects each. 3388c2ecf20Sopenharmony_ci This controller does not support generic SPI messages. It only 3398c2ecf20Sopenharmony_ci supports the high-level SPI memory interface. 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_ciconfig SPI_HISI_SFC_V3XX 3428c2ecf20Sopenharmony_ci tristate "HiSilicon SPI NOR Flash Controller for Hi16XX chipsets" 3438c2ecf20Sopenharmony_ci depends on (ARM64 && ACPI) || COMPILE_TEST 3448c2ecf20Sopenharmony_ci depends on HAS_IOMEM 3458c2ecf20Sopenharmony_ci help 3468c2ecf20Sopenharmony_ci This enables support for HiSilicon v3xx SPI NOR flash controller 3478c2ecf20Sopenharmony_ci found in hi16xx chipsets. 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ciconfig SPI_NXP_FLEXSPI 3508c2ecf20Sopenharmony_ci tristate "NXP Flex SPI controller" 3518c2ecf20Sopenharmony_ci depends on ARCH_LAYERSCAPE || HAS_IOMEM 3528c2ecf20Sopenharmony_ci help 3538c2ecf20Sopenharmony_ci This enables support for the Flex SPI controller in master mode. 3548c2ecf20Sopenharmony_ci Up to four slave devices can be connected on two buses with two 3558c2ecf20Sopenharmony_ci chipselects each. 3568c2ecf20Sopenharmony_ci This controller does not support generic SPI messages and only 3578c2ecf20Sopenharmony_ci supports the high-level SPI memory interface. 3588c2ecf20Sopenharmony_ci 3598c2ecf20Sopenharmony_ciconfig SPI_GPIO 3608c2ecf20Sopenharmony_ci tristate "GPIO-based bitbanging SPI Master" 3618c2ecf20Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 3628c2ecf20Sopenharmony_ci select SPI_BITBANG 3638c2ecf20Sopenharmony_ci help 3648c2ecf20Sopenharmony_ci This simple GPIO bitbanging SPI master uses the arch-neutral GPIO 3658c2ecf20Sopenharmony_ci interface to manage MOSI, MISO, SCK, and chipselect signals. SPI 3668c2ecf20Sopenharmony_ci slaves connected to a bus using this driver are configured as usual, 3678c2ecf20Sopenharmony_ci except that the spi_board_info.controller_data holds the GPIO number 3688c2ecf20Sopenharmony_ci for the chipselect used by this controller driver. 3698c2ecf20Sopenharmony_ci 3708c2ecf20Sopenharmony_ci Note that this driver often won't achieve even 1 Mbit/sec speeds, 3718c2ecf20Sopenharmony_ci making it unusually slow for SPI. If your platform can inline 3728c2ecf20Sopenharmony_ci GPIO operations, you should be able to leverage that for better 3738c2ecf20Sopenharmony_ci speed with a custom version of this driver; see the source code. 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ciconfig SPI_IMG_SPFI 3768c2ecf20Sopenharmony_ci tristate "IMG SPFI controller" 3778c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 3788c2ecf20Sopenharmony_ci help 3798c2ecf20Sopenharmony_ci This enables support for the SPFI master controller found on 3808c2ecf20Sopenharmony_ci IMG SoCs. 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_ciconfig SPI_IMX 3838c2ecf20Sopenharmony_ci tristate "Freescale i.MX SPI controllers" 3848c2ecf20Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 3858c2ecf20Sopenharmony_ci select SPI_BITBANG 3868c2ecf20Sopenharmony_ci help 3878c2ecf20Sopenharmony_ci This enables support for the Freescale i.MX SPI controllers. 3888c2ecf20Sopenharmony_ci 3898c2ecf20Sopenharmony_ciconfig SPI_JCORE 3908c2ecf20Sopenharmony_ci tristate "J-Core SPI Master" 3918c2ecf20Sopenharmony_ci depends on OF && (SUPERH || COMPILE_TEST) 3928c2ecf20Sopenharmony_ci help 3938c2ecf20Sopenharmony_ci This enables support for the SPI master controller in the J-Core 3948c2ecf20Sopenharmony_ci synthesizable, open source SoC. 3958c2ecf20Sopenharmony_ci 3968c2ecf20Sopenharmony_ciconfig SPI_LM70_LLP 3978c2ecf20Sopenharmony_ci tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)" 3988c2ecf20Sopenharmony_ci depends on PARPORT 3998c2ecf20Sopenharmony_ci select SPI_BITBANG 4008c2ecf20Sopenharmony_ci help 4018c2ecf20Sopenharmony_ci This driver supports the NS LM70 LLP Evaluation Board, 4028c2ecf20Sopenharmony_ci which interfaces to an LM70 temperature sensor using 4038c2ecf20Sopenharmony_ci a parallel port. 4048c2ecf20Sopenharmony_ci 4058c2ecf20Sopenharmony_ciconfig SPI_LP8841_RTC 4068c2ecf20Sopenharmony_ci tristate "ICP DAS LP-8841 SPI Controller for RTC" 4078c2ecf20Sopenharmony_ci depends on MACH_PXA27X_DT || COMPILE_TEST 4088c2ecf20Sopenharmony_ci help 4098c2ecf20Sopenharmony_ci This driver provides an SPI master device to drive Maxim 4108c2ecf20Sopenharmony_ci DS-1302 real time clock. 4118c2ecf20Sopenharmony_ci 4128c2ecf20Sopenharmony_ci Say N here unless you plan to run the kernel on an ICP DAS 4138c2ecf20Sopenharmony_ci LP-8x4x industrial computer. 4148c2ecf20Sopenharmony_ci 4158c2ecf20Sopenharmony_ciconfig SPI_MPC52xx 4168c2ecf20Sopenharmony_ci tristate "Freescale MPC52xx SPI (non-PSC) controller support" 4178c2ecf20Sopenharmony_ci depends on PPC_MPC52xx 4188c2ecf20Sopenharmony_ci help 4198c2ecf20Sopenharmony_ci This drivers supports the MPC52xx SPI controller in master SPI 4208c2ecf20Sopenharmony_ci mode. 4218c2ecf20Sopenharmony_ci 4228c2ecf20Sopenharmony_ciconfig SPI_MPC52xx_PSC 4238c2ecf20Sopenharmony_ci tristate "Freescale MPC52xx PSC SPI controller" 4248c2ecf20Sopenharmony_ci depends on PPC_MPC52xx 4258c2ecf20Sopenharmony_ci help 4268c2ecf20Sopenharmony_ci This enables using the Freescale MPC52xx Programmable Serial 4278c2ecf20Sopenharmony_ci Controller in master SPI mode. 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_ciconfig SPI_MPC512x_PSC 4308c2ecf20Sopenharmony_ci tristate "Freescale MPC512x PSC SPI controller" 4318c2ecf20Sopenharmony_ci depends on PPC_MPC512x 4328c2ecf20Sopenharmony_ci help 4338c2ecf20Sopenharmony_ci This enables using the Freescale MPC5121 Programmable Serial 4348c2ecf20Sopenharmony_ci Controller in SPI master mode. 4358c2ecf20Sopenharmony_ci 4368c2ecf20Sopenharmony_ciconfig SPI_FSL_LIB 4378c2ecf20Sopenharmony_ci tristate 4388c2ecf20Sopenharmony_ci depends on OF 4398c2ecf20Sopenharmony_ci 4408c2ecf20Sopenharmony_ciconfig SPI_FSL_CPM 4418c2ecf20Sopenharmony_ci tristate 4428c2ecf20Sopenharmony_ci depends on FSL_SOC 4438c2ecf20Sopenharmony_ci 4448c2ecf20Sopenharmony_ciconfig SPI_FSL_SPI 4458c2ecf20Sopenharmony_ci tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller" 4468c2ecf20Sopenharmony_ci depends on OF 4478c2ecf20Sopenharmony_ci select SPI_FSL_LIB 4488c2ecf20Sopenharmony_ci select SPI_FSL_CPM if FSL_SOC 4498c2ecf20Sopenharmony_ci help 4508c2ecf20Sopenharmony_ci This enables using the Freescale SPI controllers in master mode. 4518c2ecf20Sopenharmony_ci MPC83xx platform uses the controller in cpu mode or CPM/QE mode. 4528c2ecf20Sopenharmony_ci MPC8569 uses the controller in QE mode, MPC8610 in cpu mode. 4538c2ecf20Sopenharmony_ci This also enables using the Aeroflex Gaisler GRLIB SPI controller in 4548c2ecf20Sopenharmony_ci master mode. 4558c2ecf20Sopenharmony_ci 4568c2ecf20Sopenharmony_ciconfig SPI_FSL_DSPI 4578c2ecf20Sopenharmony_ci tristate "Freescale DSPI controller" 4588c2ecf20Sopenharmony_ci select REGMAP_MMIO 4598c2ecf20Sopenharmony_ci depends on SOC_VF610 || SOC_LS1021A || ARCH_LAYERSCAPE || M5441x || COMPILE_TEST 4608c2ecf20Sopenharmony_ci help 4618c2ecf20Sopenharmony_ci This enables support for the Freescale DSPI controller in master 4628c2ecf20Sopenharmony_ci mode. VF610, LS1021A and ColdFire platforms uses the controller. 4638c2ecf20Sopenharmony_ci 4648c2ecf20Sopenharmony_ciconfig SPI_FSL_ESPI 4658c2ecf20Sopenharmony_ci tristate "Freescale eSPI controller" 4668c2ecf20Sopenharmony_ci depends on FSL_SOC 4678c2ecf20Sopenharmony_ci help 4688c2ecf20Sopenharmony_ci This enables using the Freescale eSPI controllers in master mode. 4698c2ecf20Sopenharmony_ci From MPC8536, 85xx platform uses the controller, and all P10xx, 4708c2ecf20Sopenharmony_ci P20xx, P30xx,P40xx, P50xx uses this controller. 4718c2ecf20Sopenharmony_ci 4728c2ecf20Sopenharmony_ciconfig SPI_MESON_SPICC 4738c2ecf20Sopenharmony_ci tristate "Amlogic Meson SPICC controller" 4748c2ecf20Sopenharmony_ci depends on COMMON_CLK 4758c2ecf20Sopenharmony_ci depends on ARCH_MESON || COMPILE_TEST 4768c2ecf20Sopenharmony_ci help 4778c2ecf20Sopenharmony_ci This enables master mode support for the SPICC (SPI communication 4788c2ecf20Sopenharmony_ci controller) available in Amlogic Meson SoCs. 4798c2ecf20Sopenharmony_ci 4808c2ecf20Sopenharmony_ciconfig SPI_MESON_SPIFC 4818c2ecf20Sopenharmony_ci tristate "Amlogic Meson SPIFC controller" 4828c2ecf20Sopenharmony_ci depends on ARCH_MESON || COMPILE_TEST 4838c2ecf20Sopenharmony_ci select REGMAP_MMIO 4848c2ecf20Sopenharmony_ci help 4858c2ecf20Sopenharmony_ci This enables master mode support for the SPIFC (SPI flash 4868c2ecf20Sopenharmony_ci controller) available in Amlogic Meson SoCs. 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_ciconfig SPI_MT65XX 4898c2ecf20Sopenharmony_ci tristate "MediaTek SPI controller" 4908c2ecf20Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 4918c2ecf20Sopenharmony_ci help 4928c2ecf20Sopenharmony_ci This selects the MediaTek(R) SPI bus driver. 4938c2ecf20Sopenharmony_ci If you want to use MediaTek(R) SPI interface, 4948c2ecf20Sopenharmony_ci say Y or M here.If you are not sure, say N. 4958c2ecf20Sopenharmony_ci SPI drivers for Mediatek MT65XX and MT81XX series ARM SoCs. 4968c2ecf20Sopenharmony_ci 4978c2ecf20Sopenharmony_ciconfig SPI_MT7621 4988c2ecf20Sopenharmony_ci tristate "MediaTek MT7621 SPI Controller" 4998c2ecf20Sopenharmony_ci depends on RALINK || COMPILE_TEST 5008c2ecf20Sopenharmony_ci help 5018c2ecf20Sopenharmony_ci This selects a driver for the MediaTek MT7621 SPI Controller. 5028c2ecf20Sopenharmony_ci 5038c2ecf20Sopenharmony_ciconfig SPI_MTK_NOR 5048c2ecf20Sopenharmony_ci tristate "MediaTek SPI NOR controller" 5058c2ecf20Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 5068c2ecf20Sopenharmony_ci help 5078c2ecf20Sopenharmony_ci This enables support for SPI NOR controller found on MediaTek 5088c2ecf20Sopenharmony_ci ARM SoCs. This is a controller specifically for SPI NOR flash. 5098c2ecf20Sopenharmony_ci It can perform generic SPI transfers up to 6 bytes via generic 5108c2ecf20Sopenharmony_ci SPI interface as well as several SPI NOR specific instructions 5118c2ecf20Sopenharmony_ci via SPI MEM interface. 5128c2ecf20Sopenharmony_ci 5138c2ecf20Sopenharmony_ciconfig SPI_NPCM_FIU 5148c2ecf20Sopenharmony_ci tristate "Nuvoton NPCM FLASH Interface Unit" 5158c2ecf20Sopenharmony_ci depends on ARCH_NPCM || COMPILE_TEST 5168c2ecf20Sopenharmony_ci depends on OF && HAS_IOMEM 5178c2ecf20Sopenharmony_ci help 5188c2ecf20Sopenharmony_ci This enables support for the Flash Interface Unit SPI controller 5198c2ecf20Sopenharmony_ci in master mode. 5208c2ecf20Sopenharmony_ci This driver does not support generic SPI. The implementation only 5218c2ecf20Sopenharmony_ci supports spi-mem interface. 5228c2ecf20Sopenharmony_ci 5238c2ecf20Sopenharmony_ciconfig SPI_NPCM_PSPI 5248c2ecf20Sopenharmony_ci tristate "Nuvoton NPCM PSPI Controller" 5258c2ecf20Sopenharmony_ci depends on ARCH_NPCM || COMPILE_TEST 5268c2ecf20Sopenharmony_ci help 5278c2ecf20Sopenharmony_ci This driver provides support for Nuvoton NPCM BMC 5288c2ecf20Sopenharmony_ci Peripheral SPI controller in master mode. 5298c2ecf20Sopenharmony_ci 5308c2ecf20Sopenharmony_ciconfig SPI_LANTIQ_SSC 5318c2ecf20Sopenharmony_ci tristate "Lantiq SSC SPI controller" 5328c2ecf20Sopenharmony_ci depends on LANTIQ || X86 || COMPILE_TEST 5338c2ecf20Sopenharmony_ci help 5348c2ecf20Sopenharmony_ci This driver supports the Lantiq SSC SPI controller in master 5358c2ecf20Sopenharmony_ci mode. This controller is found on Intel (former Lantiq) SoCs like 5368c2ecf20Sopenharmony_ci the Danube, Falcon, xRX200, xRX300, Lightning Mountain. 5378c2ecf20Sopenharmony_ci 5388c2ecf20Sopenharmony_ciconfig SPI_OC_TINY 5398c2ecf20Sopenharmony_ci tristate "OpenCores tiny SPI" 5408c2ecf20Sopenharmony_ci depends on GPIOLIB || COMPILE_TEST 5418c2ecf20Sopenharmony_ci select SPI_BITBANG 5428c2ecf20Sopenharmony_ci help 5438c2ecf20Sopenharmony_ci This is the driver for OpenCores tiny SPI master controller. 5448c2ecf20Sopenharmony_ci 5458c2ecf20Sopenharmony_ciconfig SPI_OCTEON 5468c2ecf20Sopenharmony_ci tristate "Cavium OCTEON SPI controller" 5478c2ecf20Sopenharmony_ci depends on CAVIUM_OCTEON_SOC 5488c2ecf20Sopenharmony_ci help 5498c2ecf20Sopenharmony_ci SPI host driver for the hardware found on some Cavium OCTEON 5508c2ecf20Sopenharmony_ci SOCs. 5518c2ecf20Sopenharmony_ci 5528c2ecf20Sopenharmony_ciconfig SPI_OMAP_UWIRE 5538c2ecf20Sopenharmony_ci tristate "OMAP1 MicroWire" 5548c2ecf20Sopenharmony_ci depends on ARCH_OMAP1 5558c2ecf20Sopenharmony_ci select SPI_BITBANG 5568c2ecf20Sopenharmony_ci help 5578c2ecf20Sopenharmony_ci This hooks up to the MicroWire controller on OMAP1 chips. 5588c2ecf20Sopenharmony_ci 5598c2ecf20Sopenharmony_ciconfig SPI_OMAP24XX 5608c2ecf20Sopenharmony_ci tristate "McSPI driver for OMAP" 5618c2ecf20Sopenharmony_ci depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST 5628c2ecf20Sopenharmony_ci select SG_SPLIT 5638c2ecf20Sopenharmony_ci help 5648c2ecf20Sopenharmony_ci SPI master controller for OMAP24XX and later Multichannel SPI 5658c2ecf20Sopenharmony_ci (McSPI) modules. 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_ciconfig SPI_TI_QSPI 5688c2ecf20Sopenharmony_ci tristate "DRA7xxx QSPI controller support" 5698c2ecf20Sopenharmony_ci depends on ARCH_OMAP2PLUS || COMPILE_TEST 5708c2ecf20Sopenharmony_ci help 5718c2ecf20Sopenharmony_ci QSPI master controller for DRA7xxx used for flash devices. 5728c2ecf20Sopenharmony_ci This device supports single, dual and quad read support, while 5738c2ecf20Sopenharmony_ci it only supports single write mode. 5748c2ecf20Sopenharmony_ci 5758c2ecf20Sopenharmony_ciconfig SPI_OMAP_100K 5768c2ecf20Sopenharmony_ci tristate "OMAP SPI 100K" 5778c2ecf20Sopenharmony_ci depends on ARCH_OMAP850 || ARCH_OMAP730 || COMPILE_TEST 5788c2ecf20Sopenharmony_ci help 5798c2ecf20Sopenharmony_ci OMAP SPI 100K master controller for omap7xx boards. 5808c2ecf20Sopenharmony_ci 5818c2ecf20Sopenharmony_ciconfig SPI_ORION 5828c2ecf20Sopenharmony_ci tristate "Orion SPI master" 5838c2ecf20Sopenharmony_ci depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST 5848c2ecf20Sopenharmony_ci help 5858c2ecf20Sopenharmony_ci This enables using the SPI master controller on the Orion 5868c2ecf20Sopenharmony_ci and MVEBU chips. 5878c2ecf20Sopenharmony_ci 5888c2ecf20Sopenharmony_ciconfig SPI_PIC32 5898c2ecf20Sopenharmony_ci tristate "Microchip PIC32 series SPI" 5908c2ecf20Sopenharmony_ci depends on MACH_PIC32 || COMPILE_TEST 5918c2ecf20Sopenharmony_ci help 5928c2ecf20Sopenharmony_ci SPI driver for Microchip PIC32 SPI master controller. 5938c2ecf20Sopenharmony_ci 5948c2ecf20Sopenharmony_ciconfig SPI_PIC32_SQI 5958c2ecf20Sopenharmony_ci tristate "Microchip PIC32 Quad SPI driver" 5968c2ecf20Sopenharmony_ci depends on MACH_PIC32 || COMPILE_TEST 5978c2ecf20Sopenharmony_ci help 5988c2ecf20Sopenharmony_ci SPI driver for PIC32 Quad SPI controller. 5998c2ecf20Sopenharmony_ci 6008c2ecf20Sopenharmony_ciconfig SPI_PL022 6018c2ecf20Sopenharmony_ci tristate "ARM AMBA PL022 SSP controller" 6028c2ecf20Sopenharmony_ci depends on ARM_AMBA 6038c2ecf20Sopenharmony_ci default y if MACH_U300 6048c2ecf20Sopenharmony_ci default y if ARCH_REALVIEW 6058c2ecf20Sopenharmony_ci default y if INTEGRATOR_IMPD1 6068c2ecf20Sopenharmony_ci default y if ARCH_VERSATILE 6078c2ecf20Sopenharmony_ci help 6088c2ecf20Sopenharmony_ci This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP 6098c2ecf20Sopenharmony_ci controller. If you have an embedded system with an AMBA(R) 6108c2ecf20Sopenharmony_ci bus and a PL022 controller, say Y or M here. 6118c2ecf20Sopenharmony_ci 6128c2ecf20Sopenharmony_ciconfig SPI_PPC4xx 6138c2ecf20Sopenharmony_ci tristate "PPC4xx SPI Controller" 6148c2ecf20Sopenharmony_ci depends on PPC32 && 4xx 6158c2ecf20Sopenharmony_ci select SPI_BITBANG 6168c2ecf20Sopenharmony_ci help 6178c2ecf20Sopenharmony_ci This selects a driver for the PPC4xx SPI Controller. 6188c2ecf20Sopenharmony_ci 6198c2ecf20Sopenharmony_ciconfig SPI_PXA2XX 6208c2ecf20Sopenharmony_ci tristate "PXA2xx SSP SPI master" 6218c2ecf20Sopenharmony_ci depends on ARCH_PXA || ARCH_MMP || PCI || ACPI || COMPILE_TEST 6228c2ecf20Sopenharmony_ci select PXA_SSP if ARCH_PXA || ARCH_MMP 6238c2ecf20Sopenharmony_ci help 6248c2ecf20Sopenharmony_ci This enables using a PXA2xx or Sodaville SSP port as a SPI master 6258c2ecf20Sopenharmony_ci controller. The driver can be configured to use any SSP port and 6268c2ecf20Sopenharmony_ci additional documentation can be found a Documentation/spi/pxa2xx.rst. 6278c2ecf20Sopenharmony_ci 6288c2ecf20Sopenharmony_ciconfig SPI_PXA2XX_PCI 6298c2ecf20Sopenharmony_ci def_tristate SPI_PXA2XX && PCI && COMMON_CLK 6308c2ecf20Sopenharmony_ci 6318c2ecf20Sopenharmony_ciconfig SPI_ROCKCHIP 6328c2ecf20Sopenharmony_ci tristate "Rockchip SPI controller driver" 6338c2ecf20Sopenharmony_ci help 6348c2ecf20Sopenharmony_ci This selects a driver for Rockchip SPI controller. 6358c2ecf20Sopenharmony_ci 6368c2ecf20Sopenharmony_ci If you say yes to this option, support will be included for 6378c2ecf20Sopenharmony_ci RK3066, RK3188 and RK3288 families of SPI controller. 6388c2ecf20Sopenharmony_ci Rockchip SPI controller support DMA transport and PIO mode. 6398c2ecf20Sopenharmony_ci The main usecase of this controller is to use spi flash as boot 6408c2ecf20Sopenharmony_ci device. 6418c2ecf20Sopenharmony_ci 6428c2ecf20Sopenharmony_ciconfig SPI_RB4XX 6438c2ecf20Sopenharmony_ci tristate "Mikrotik RB4XX SPI master" 6448c2ecf20Sopenharmony_ci depends on SPI_MASTER && ATH79 6458c2ecf20Sopenharmony_ci help 6468c2ecf20Sopenharmony_ci SPI controller driver for the Mikrotik RB4xx series boards. 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_ciconfig SPI_RPCIF 6498c2ecf20Sopenharmony_ci tristate "Renesas RPC-IF SPI driver" 6508c2ecf20Sopenharmony_ci depends on RENESAS_RPCIF 6518c2ecf20Sopenharmony_ci help 6528c2ecf20Sopenharmony_ci SPI driver for Renesas R-Car Gen3 RPC-IF. 6538c2ecf20Sopenharmony_ci 6548c2ecf20Sopenharmony_ciconfig SPI_RSPI 6558c2ecf20Sopenharmony_ci tristate "Renesas RSPI/QSPI controller" 6568c2ecf20Sopenharmony_ci depends on SUPERH || ARCH_RENESAS || COMPILE_TEST 6578c2ecf20Sopenharmony_ci help 6588c2ecf20Sopenharmony_ci SPI driver for Renesas RSPI and QSPI blocks. 6598c2ecf20Sopenharmony_ci 6608c2ecf20Sopenharmony_ciconfig SPI_QCOM_QSPI 6618c2ecf20Sopenharmony_ci tristate "QTI QSPI controller" 6628c2ecf20Sopenharmony_ci depends on ARCH_QCOM 6638c2ecf20Sopenharmony_ci help 6648c2ecf20Sopenharmony_ci QSPI(Quad SPI) driver for Qualcomm QSPI controller. 6658c2ecf20Sopenharmony_ci 6668c2ecf20Sopenharmony_ciconfig SPI_QUP 6678c2ecf20Sopenharmony_ci tristate "Qualcomm SPI controller with QUP interface" 6688c2ecf20Sopenharmony_ci depends on ARCH_QCOM || COMPILE_TEST 6698c2ecf20Sopenharmony_ci help 6708c2ecf20Sopenharmony_ci Qualcomm Universal Peripheral (QUP) core is an AHB slave that 6718c2ecf20Sopenharmony_ci provides a common data path (an output FIFO and an input FIFO) 6728c2ecf20Sopenharmony_ci for serial peripheral interface (SPI) mini-core. SPI in master 6738c2ecf20Sopenharmony_ci mode supports up to 50MHz, up to four chip selects, programmable 6748c2ecf20Sopenharmony_ci data path from 4 bits to 32 bits and numerous protocol variants. 6758c2ecf20Sopenharmony_ci 6768c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 6778c2ecf20Sopenharmony_ci will be called spi_qup. 6788c2ecf20Sopenharmony_ci 6798c2ecf20Sopenharmony_ciconfig SPI_QCOM_GENI 6808c2ecf20Sopenharmony_ci tristate "Qualcomm GENI based SPI controller" 6818c2ecf20Sopenharmony_ci depends on QCOM_GENI_SE 6828c2ecf20Sopenharmony_ci help 6838c2ecf20Sopenharmony_ci This driver supports GENI serial engine based SPI controller in 6848c2ecf20Sopenharmony_ci master mode on the Qualcomm Technologies Inc.'s SoCs. If you say 6858c2ecf20Sopenharmony_ci yes to this option, support will be included for the built-in SPI 6868c2ecf20Sopenharmony_ci interface on the Qualcomm Technologies Inc.'s SoCs. 6878c2ecf20Sopenharmony_ci 6888c2ecf20Sopenharmony_ci This driver can also be built as a module. If so, the module 6898c2ecf20Sopenharmony_ci will be called spi-geni-qcom. 6908c2ecf20Sopenharmony_ci 6918c2ecf20Sopenharmony_ciconfig SPI_S3C24XX 6928c2ecf20Sopenharmony_ci tristate "Samsung S3C24XX series SPI" 6938c2ecf20Sopenharmony_ci depends on ARCH_S3C24XX 6948c2ecf20Sopenharmony_ci select SPI_BITBANG 6958c2ecf20Sopenharmony_ci help 6968c2ecf20Sopenharmony_ci SPI driver for Samsung S3C24XX series ARM SoCs 6978c2ecf20Sopenharmony_ci 6988c2ecf20Sopenharmony_ciconfig SPI_S3C24XX_FIQ 6998c2ecf20Sopenharmony_ci bool "S3C24XX driver with FIQ pseudo-DMA" 7008c2ecf20Sopenharmony_ci depends on SPI_S3C24XX 7018c2ecf20Sopenharmony_ci select FIQ 7028c2ecf20Sopenharmony_ci help 7038c2ecf20Sopenharmony_ci Enable FIQ support for the S3C24XX SPI driver to provide pseudo 7048c2ecf20Sopenharmony_ci DMA by using the fast-interrupt request framework, This allows 7058c2ecf20Sopenharmony_ci the driver to get DMA-like performance when there are either 7068c2ecf20Sopenharmony_ci no free DMA channels, or when doing transfers that required both 7078c2ecf20Sopenharmony_ci TX and RX data paths. 7088c2ecf20Sopenharmony_ci 7098c2ecf20Sopenharmony_ciconfig SPI_S3C64XX 7108c2ecf20Sopenharmony_ci tristate "Samsung S3C64XX series type SPI" 7118c2ecf20Sopenharmony_ci depends on (PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST) 7128c2ecf20Sopenharmony_ci help 7138c2ecf20Sopenharmony_ci SPI driver for Samsung S3C64XX and newer SoCs. 7148c2ecf20Sopenharmony_ci 7158c2ecf20Sopenharmony_ciconfig SPI_SC18IS602 7168c2ecf20Sopenharmony_ci tristate "NXP SC18IS602/602B/603 I2C to SPI bridge" 7178c2ecf20Sopenharmony_ci depends on I2C 7188c2ecf20Sopenharmony_ci help 7198c2ecf20Sopenharmony_ci SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge. 7208c2ecf20Sopenharmony_ci 7218c2ecf20Sopenharmony_ciconfig SPI_SH_MSIOF 7228c2ecf20Sopenharmony_ci tristate "SuperH MSIOF SPI controller" 7238c2ecf20Sopenharmony_ci depends on HAVE_CLK 7248c2ecf20Sopenharmony_ci depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST 7258c2ecf20Sopenharmony_ci help 7268c2ecf20Sopenharmony_ci SPI driver for SuperH and SH Mobile MSIOF blocks. 7278c2ecf20Sopenharmony_ci 7288c2ecf20Sopenharmony_ciconfig SPI_SH 7298c2ecf20Sopenharmony_ci tristate "SuperH SPI controller" 7308c2ecf20Sopenharmony_ci depends on SUPERH || COMPILE_TEST 7318c2ecf20Sopenharmony_ci help 7328c2ecf20Sopenharmony_ci SPI driver for SuperH SPI blocks. 7338c2ecf20Sopenharmony_ci 7348c2ecf20Sopenharmony_ciconfig SPI_SH_SCI 7358c2ecf20Sopenharmony_ci tristate "SuperH SCI SPI controller" 7368c2ecf20Sopenharmony_ci depends on SUPERH 7378c2ecf20Sopenharmony_ci select SPI_BITBANG 7388c2ecf20Sopenharmony_ci help 7398c2ecf20Sopenharmony_ci SPI driver for SuperH SCI blocks. 7408c2ecf20Sopenharmony_ci 7418c2ecf20Sopenharmony_ciconfig SPI_SH_HSPI 7428c2ecf20Sopenharmony_ci tristate "SuperH HSPI controller" 7438c2ecf20Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 7448c2ecf20Sopenharmony_ci help 7458c2ecf20Sopenharmony_ci SPI driver for SuperH HSPI blocks. 7468c2ecf20Sopenharmony_ci 7478c2ecf20Sopenharmony_ciconfig SPI_SIFIVE 7488c2ecf20Sopenharmony_ci tristate "SiFive SPI controller" 7498c2ecf20Sopenharmony_ci depends on HAS_IOMEM 7508c2ecf20Sopenharmony_ci help 7518c2ecf20Sopenharmony_ci This exposes the SPI controller IP from SiFive. 7528c2ecf20Sopenharmony_ci 7538c2ecf20Sopenharmony_ciconfig SPI_SIRF 7548c2ecf20Sopenharmony_ci tristate "CSR SiRFprimaII SPI controller" 7558c2ecf20Sopenharmony_ci depends on SIRF_DMA 7568c2ecf20Sopenharmony_ci select SPI_BITBANG 7578c2ecf20Sopenharmony_ci help 7588c2ecf20Sopenharmony_ci SPI driver for CSR SiRFprimaII SoCs 7598c2ecf20Sopenharmony_ci 7608c2ecf20Sopenharmony_ciconfig SPI_SLAVE_MT27XX 7618c2ecf20Sopenharmony_ci tristate "MediaTek SPI slave device" 7628c2ecf20Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 7638c2ecf20Sopenharmony_ci depends on SPI_SLAVE 7648c2ecf20Sopenharmony_ci help 7658c2ecf20Sopenharmony_ci This selects the MediaTek(R) SPI slave device driver. 7668c2ecf20Sopenharmony_ci If you want to use MediaTek(R) SPI slave interface, 7678c2ecf20Sopenharmony_ci say Y or M here.If you are not sure, say N. 7688c2ecf20Sopenharmony_ci SPI slave drivers for Mediatek MT27XX series ARM SoCs. 7698c2ecf20Sopenharmony_ci 7708c2ecf20Sopenharmony_ciconfig SPI_SPRD 7718c2ecf20Sopenharmony_ci tristate "Spreadtrum SPI controller" 7728c2ecf20Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 7738c2ecf20Sopenharmony_ci help 7748c2ecf20Sopenharmony_ci SPI driver for Spreadtrum SoCs. 7758c2ecf20Sopenharmony_ci 7768c2ecf20Sopenharmony_ciconfig SPI_SPRD_ADI 7778c2ecf20Sopenharmony_ci tristate "Spreadtrum ADI controller" 7788c2ecf20Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 7798c2ecf20Sopenharmony_ci depends on HWSPINLOCK || (COMPILE_TEST && !HWSPINLOCK) 7808c2ecf20Sopenharmony_ci help 7818c2ecf20Sopenharmony_ci ADI driver based on SPI for Spreadtrum SoCs. 7828c2ecf20Sopenharmony_ci 7838c2ecf20Sopenharmony_ciconfig SPI_STM32 7848c2ecf20Sopenharmony_ci tristate "STMicroelectronics STM32 SPI controller" 7858c2ecf20Sopenharmony_ci depends on ARCH_STM32 || COMPILE_TEST 7868c2ecf20Sopenharmony_ci help 7878c2ecf20Sopenharmony_ci SPI driver for STMicroelectronics STM32 SoCs. 7888c2ecf20Sopenharmony_ci 7898c2ecf20Sopenharmony_ci STM32 SPI controller supports DMA and PIO modes. When DMA 7908c2ecf20Sopenharmony_ci is not available, the driver automatically falls back to 7918c2ecf20Sopenharmony_ci PIO mode. 7928c2ecf20Sopenharmony_ci 7938c2ecf20Sopenharmony_ciconfig SPI_STM32_QSPI 7948c2ecf20Sopenharmony_ci tristate "STMicroelectronics STM32 QUAD SPI controller" 7958c2ecf20Sopenharmony_ci depends on ARCH_STM32 || COMPILE_TEST 7968c2ecf20Sopenharmony_ci depends on OF 7978c2ecf20Sopenharmony_ci help 7988c2ecf20Sopenharmony_ci This enables support for the Quad SPI controller in master mode. 7998c2ecf20Sopenharmony_ci This driver does not support generic SPI. The implementation only 8008c2ecf20Sopenharmony_ci supports spi-mem interface. 8018c2ecf20Sopenharmony_ci 8028c2ecf20Sopenharmony_ciconfig SPI_ST_SSC4 8038c2ecf20Sopenharmony_ci tristate "STMicroelectronics SPI SSC-based driver" 8048c2ecf20Sopenharmony_ci depends on ARCH_STI || COMPILE_TEST 8058c2ecf20Sopenharmony_ci help 8068c2ecf20Sopenharmony_ci STMicroelectronics SoCs support for SPI. If you say yes to 8078c2ecf20Sopenharmony_ci this option, support will be included for the SSC driven SPI. 8088c2ecf20Sopenharmony_ci 8098c2ecf20Sopenharmony_ciconfig SPI_SUN4I 8108c2ecf20Sopenharmony_ci tristate "Allwinner A10 SoCs SPI controller" 8118c2ecf20Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 8128c2ecf20Sopenharmony_ci help 8138c2ecf20Sopenharmony_ci SPI driver for Allwinner sun4i, sun5i and sun7i SoCs 8148c2ecf20Sopenharmony_ci 8158c2ecf20Sopenharmony_ciconfig SPI_SUN6I 8168c2ecf20Sopenharmony_ci tristate "Allwinner A31 SPI controller" 8178c2ecf20Sopenharmony_ci depends on ARCH_SUNXI || COMPILE_TEST 8188c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 8198c2ecf20Sopenharmony_ci help 8208c2ecf20Sopenharmony_ci This enables using the SPI controller on the Allwinner A31 SoCs. 8218c2ecf20Sopenharmony_ci 8228c2ecf20Sopenharmony_ciconfig SPI_SYNQUACER 8238c2ecf20Sopenharmony_ci tristate "Socionext's SynQuacer HighSpeed SPI controller" 8248c2ecf20Sopenharmony_ci depends on ARCH_SYNQUACER || COMPILE_TEST 8258c2ecf20Sopenharmony_ci help 8268c2ecf20Sopenharmony_ci SPI driver for Socionext's High speed SPI controller which provides 8278c2ecf20Sopenharmony_ci various operating modes for interfacing to serial peripheral devices 8288c2ecf20Sopenharmony_ci that use the de-facto standard SPI protocol. 8298c2ecf20Sopenharmony_ci 8308c2ecf20Sopenharmony_ci It also supports the new dual-bit and quad-bit SPI protocol. 8318c2ecf20Sopenharmony_ci 8328c2ecf20Sopenharmony_ciconfig SPI_MXIC 8338c2ecf20Sopenharmony_ci tristate "Macronix MX25F0A SPI controller" 8348c2ecf20Sopenharmony_ci depends on SPI_MASTER 8358c2ecf20Sopenharmony_ci help 8368c2ecf20Sopenharmony_ci This selects the Macronix MX25F0A SPI controller driver. 8378c2ecf20Sopenharmony_ci 8388c2ecf20Sopenharmony_ciconfig SPI_MXS 8398c2ecf20Sopenharmony_ci tristate "Freescale MXS SPI controller" 8408c2ecf20Sopenharmony_ci depends on ARCH_MXS 8418c2ecf20Sopenharmony_ci select STMP_DEVICE 8428c2ecf20Sopenharmony_ci help 8438c2ecf20Sopenharmony_ci SPI driver for Freescale MXS devices. 8448c2ecf20Sopenharmony_ci 8458c2ecf20Sopenharmony_ciconfig SPI_TEGRA114 8468c2ecf20Sopenharmony_ci tristate "NVIDIA Tegra114 SPI Controller" 8478c2ecf20Sopenharmony_ci depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 8488c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 8498c2ecf20Sopenharmony_ci help 8508c2ecf20Sopenharmony_ci SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller 8518c2ecf20Sopenharmony_ci is different than the older SoCs SPI controller and also register interface 8528c2ecf20Sopenharmony_ci get changed with this controller. 8538c2ecf20Sopenharmony_ci 8548c2ecf20Sopenharmony_ciconfig SPI_TEGRA20_SFLASH 8558c2ecf20Sopenharmony_ci tristate "Nvidia Tegra20 Serial flash Controller" 8568c2ecf20Sopenharmony_ci depends on ARCH_TEGRA || COMPILE_TEST 8578c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 8588c2ecf20Sopenharmony_ci help 8598c2ecf20Sopenharmony_ci SPI driver for Nvidia Tegra20 Serial flash Controller interface. 8608c2ecf20Sopenharmony_ci The main usecase of this controller is to use spi flash as boot 8618c2ecf20Sopenharmony_ci device. 8628c2ecf20Sopenharmony_ci 8638c2ecf20Sopenharmony_ciconfig SPI_TEGRA20_SLINK 8648c2ecf20Sopenharmony_ci tristate "Nvidia Tegra20/Tegra30 SLINK Controller" 8658c2ecf20Sopenharmony_ci depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 8668c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 8678c2ecf20Sopenharmony_ci help 8688c2ecf20Sopenharmony_ci SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface. 8698c2ecf20Sopenharmony_ci 8708c2ecf20Sopenharmony_ciconfig SPI_THUNDERX 8718c2ecf20Sopenharmony_ci tristate "Cavium ThunderX SPI controller" 8728c2ecf20Sopenharmony_ci depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 8738c2ecf20Sopenharmony_ci help 8748c2ecf20Sopenharmony_ci SPI host driver for the hardware found on Cavium ThunderX 8758c2ecf20Sopenharmony_ci SOCs. 8768c2ecf20Sopenharmony_ci 8778c2ecf20Sopenharmony_ciconfig SPI_TOPCLIFF_PCH 8788c2ecf20Sopenharmony_ci tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI" 8798c2ecf20Sopenharmony_ci depends on PCI && (X86_32 || MIPS || COMPILE_TEST) 8808c2ecf20Sopenharmony_ci help 8818c2ecf20Sopenharmony_ci SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus 8828c2ecf20Sopenharmony_ci used in some x86 embedded processors. 8838c2ecf20Sopenharmony_ci 8848c2ecf20Sopenharmony_ci This driver also supports the ML7213/ML7223/ML7831, a companion chip 8858c2ecf20Sopenharmony_ci for the Atom E6xx series and compatible with the Intel EG20T PCH. 8868c2ecf20Sopenharmony_ci 8878c2ecf20Sopenharmony_ciconfig SPI_TXX9 8888c2ecf20Sopenharmony_ci tristate "Toshiba TXx9 SPI controller" 8898c2ecf20Sopenharmony_ci depends on GPIOLIB && (CPU_TX49XX || COMPILE_TEST) 8908c2ecf20Sopenharmony_ci help 8918c2ecf20Sopenharmony_ci SPI driver for Toshiba TXx9 MIPS SoCs 8928c2ecf20Sopenharmony_ci 8938c2ecf20Sopenharmony_ciconfig SPI_UNIPHIER 8948c2ecf20Sopenharmony_ci tristate "Socionext UniPhier SPI Controller" 8958c2ecf20Sopenharmony_ci depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF 8968c2ecf20Sopenharmony_ci depends on HAS_IOMEM 8978c2ecf20Sopenharmony_ci help 8988c2ecf20Sopenharmony_ci This enables a driver for the Socionext UniPhier SoC SCSSI SPI controller. 8998c2ecf20Sopenharmony_ci 9008c2ecf20Sopenharmony_ci UniPhier SoCs have SCSSI and MCSSI SPI controllers. 9018c2ecf20Sopenharmony_ci Every UniPhier SoC has SCSSI which supports single channel. 9028c2ecf20Sopenharmony_ci Older UniPhier Pro4/Pro5 also has MCSSI which support multiple channels. 9038c2ecf20Sopenharmony_ci This driver supports SCSSI only. 9048c2ecf20Sopenharmony_ci 9058c2ecf20Sopenharmony_ci If your SoC supports SCSSI, say Y here. 9068c2ecf20Sopenharmony_ci 9078c2ecf20Sopenharmony_ciconfig SPI_XCOMM 9088c2ecf20Sopenharmony_ci tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver" 9098c2ecf20Sopenharmony_ci depends on I2C 9108c2ecf20Sopenharmony_ci help 9118c2ecf20Sopenharmony_ci Support for the SPI-I2C bridge found on the Analog Devices 9128c2ecf20Sopenharmony_ci AD-FMCOMMS1-EBZ board. 9138c2ecf20Sopenharmony_ci 9148c2ecf20Sopenharmony_ciconfig SPI_XILINX 9158c2ecf20Sopenharmony_ci tristate "Xilinx SPI controller common module" 9168c2ecf20Sopenharmony_ci depends on HAS_IOMEM 9178c2ecf20Sopenharmony_ci select SPI_BITBANG 9188c2ecf20Sopenharmony_ci help 9198c2ecf20Sopenharmony_ci This exposes the SPI controller IP from the Xilinx EDK. 9208c2ecf20Sopenharmony_ci 9218c2ecf20Sopenharmony_ci See the "OPB Serial Peripheral Interface (SPI) (v1.00e)" 9228c2ecf20Sopenharmony_ci Product Specification document (DS464) for hardware details. 9238c2ecf20Sopenharmony_ci 9248c2ecf20Sopenharmony_ci Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)" 9258c2ecf20Sopenharmony_ci 9268c2ecf20Sopenharmony_ciconfig SPI_XLP 9278c2ecf20Sopenharmony_ci tristate "Netlogic XLP SPI controller driver" 9288c2ecf20Sopenharmony_ci depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST 9298c2ecf20Sopenharmony_ci help 9308c2ecf20Sopenharmony_ci Enable support for the SPI controller on the Netlogic XLP SoCs. 9318c2ecf20Sopenharmony_ci Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, XLP9XX 9328c2ecf20Sopenharmony_ci and XLP5XX. 9338c2ecf20Sopenharmony_ci 9348c2ecf20Sopenharmony_ci If you have a Netlogic XLP platform say Y here. 9358c2ecf20Sopenharmony_ci If unsure, say N. 9368c2ecf20Sopenharmony_ci 9378c2ecf20Sopenharmony_ciconfig SPI_XTENSA_XTFPGA 9388c2ecf20Sopenharmony_ci tristate "Xtensa SPI controller for xtfpga" 9398c2ecf20Sopenharmony_ci depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST 9408c2ecf20Sopenharmony_ci select SPI_BITBANG 9418c2ecf20Sopenharmony_ci help 9428c2ecf20Sopenharmony_ci SPI driver for xtfpga SPI master controller. 9438c2ecf20Sopenharmony_ci 9448c2ecf20Sopenharmony_ci This simple SPI master controller is built into xtfpga bitstreams 9458c2ecf20Sopenharmony_ci and is used to control daughterboard audio codec. It always transfers 9468c2ecf20Sopenharmony_ci 16 bit words in SPI mode 0, automatically asserting CS on transfer 9478c2ecf20Sopenharmony_ci start and deasserting on end. 9488c2ecf20Sopenharmony_ci 9498c2ecf20Sopenharmony_ciconfig SPI_ZYNQ_QSPI 9508c2ecf20Sopenharmony_ci tristate "Xilinx Zynq QSPI controller" 9518c2ecf20Sopenharmony_ci depends on ARCH_ZYNQ || COMPILE_TEST 9528c2ecf20Sopenharmony_ci depends on SPI_MEM 9538c2ecf20Sopenharmony_ci help 9548c2ecf20Sopenharmony_ci This enables support for the Zynq Quad SPI controller 9558c2ecf20Sopenharmony_ci in master mode. 9568c2ecf20Sopenharmony_ci This controller only supports SPI memory interface. 9578c2ecf20Sopenharmony_ci 9588c2ecf20Sopenharmony_ciconfig SPI_ZYNQMP_GQSPI 9598c2ecf20Sopenharmony_ci tristate "Xilinx ZynqMP GQSPI controller" 9608c2ecf20Sopenharmony_ci depends on (SPI_MEM && HAS_DMA) || COMPILE_TEST 9618c2ecf20Sopenharmony_ci help 9628c2ecf20Sopenharmony_ci Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC. 9638c2ecf20Sopenharmony_ci This controller only supports SPI memory interface. 9648c2ecf20Sopenharmony_ci 9658c2ecf20Sopenharmony_ciconfig SPI_AMD 9668c2ecf20Sopenharmony_ci tristate "AMD SPI controller" 9678c2ecf20Sopenharmony_ci depends on SPI_MASTER || COMPILE_TEST 9688c2ecf20Sopenharmony_ci help 9698c2ecf20Sopenharmony_ci Enables SPI controller driver for AMD SoC. 9708c2ecf20Sopenharmony_ci 9718c2ecf20Sopenharmony_ci# 9728c2ecf20Sopenharmony_ci# Add new SPI master controllers in alphabetical order above this line 9738c2ecf20Sopenharmony_ci# 9748c2ecf20Sopenharmony_ci 9758c2ecf20Sopenharmony_cicomment "SPI Multiplexer support" 9768c2ecf20Sopenharmony_ci 9778c2ecf20Sopenharmony_ciconfig SPI_MUX 9788c2ecf20Sopenharmony_ci tristate "SPI multiplexer support" 9798c2ecf20Sopenharmony_ci select MULTIPLEXER 9808c2ecf20Sopenharmony_ci help 9818c2ecf20Sopenharmony_ci This adds support for SPI multiplexers. Each SPI mux will be 9828c2ecf20Sopenharmony_ci accessible as a SPI controller, the devices behind the mux will appear 9838c2ecf20Sopenharmony_ci to be chip selects on this controller. It is still necessary to 9848c2ecf20Sopenharmony_ci select one or more specific mux-controller drivers. 9858c2ecf20Sopenharmony_ci 9868c2ecf20Sopenharmony_ci# 9878c2ecf20Sopenharmony_ci# There are lots of SPI device types, with sensors and memory 9888c2ecf20Sopenharmony_ci# being probably the most widely used ones. 9898c2ecf20Sopenharmony_ci# 9908c2ecf20Sopenharmony_cicomment "SPI Protocol Masters" 9918c2ecf20Sopenharmony_ci 9928c2ecf20Sopenharmony_ciconfig SPI_SPIDEV 9938c2ecf20Sopenharmony_ci tristate "User mode SPI device driver support" 9948c2ecf20Sopenharmony_ci help 9958c2ecf20Sopenharmony_ci This supports user mode SPI protocol drivers. 9968c2ecf20Sopenharmony_ci 9978c2ecf20Sopenharmony_ci Note that this application programming interface is EXPERIMENTAL 9988c2ecf20Sopenharmony_ci and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes. 9998c2ecf20Sopenharmony_ci 10008c2ecf20Sopenharmony_ciconfig SPI_LOOPBACK_TEST 10018c2ecf20Sopenharmony_ci tristate "spi loopback test framework support" 10028c2ecf20Sopenharmony_ci depends on m 10038c2ecf20Sopenharmony_ci help 10048c2ecf20Sopenharmony_ci This enables the SPI loopback testing framework driver 10058c2ecf20Sopenharmony_ci 10068c2ecf20Sopenharmony_ci primarily used for development of spi_master drivers 10078c2ecf20Sopenharmony_ci and to detect regressions 10088c2ecf20Sopenharmony_ci 10098c2ecf20Sopenharmony_ciconfig SPI_TLE62X0 10108c2ecf20Sopenharmony_ci tristate "Infineon TLE62X0 (for power switching)" 10118c2ecf20Sopenharmony_ci depends on SYSFS 10128c2ecf20Sopenharmony_ci help 10138c2ecf20Sopenharmony_ci SPI driver for Infineon TLE62X0 series line driver chips, 10148c2ecf20Sopenharmony_ci such as the TLE6220, TLE6230 and TLE6240. This provides a 10158c2ecf20Sopenharmony_ci sysfs interface, with each line presented as a kind of GPIO 10168c2ecf20Sopenharmony_ci exposing both switch control and diagnostic feedback. 10178c2ecf20Sopenharmony_ci 10188c2ecf20Sopenharmony_ci# 10198c2ecf20Sopenharmony_ci# Add new SPI protocol masters in alphabetical order above this line 10208c2ecf20Sopenharmony_ci# 10218c2ecf20Sopenharmony_ci 10228c2ecf20Sopenharmony_ciendif # SPI_MASTER 10238c2ecf20Sopenharmony_ci 10248c2ecf20Sopenharmony_ci# 10258c2ecf20Sopenharmony_ci# SLAVE side ... listening to other SPI masters 10268c2ecf20Sopenharmony_ci# 10278c2ecf20Sopenharmony_ci 10288c2ecf20Sopenharmony_ciconfig SPI_SLAVE 10298c2ecf20Sopenharmony_ci bool "SPI slave protocol handlers" 10308c2ecf20Sopenharmony_ci help 10318c2ecf20Sopenharmony_ci If your system has a slave-capable SPI controller, you can enable 10328c2ecf20Sopenharmony_ci slave protocol handlers. 10338c2ecf20Sopenharmony_ci 10348c2ecf20Sopenharmony_ciif SPI_SLAVE 10358c2ecf20Sopenharmony_ci 10368c2ecf20Sopenharmony_ciconfig SPI_SLAVE_TIME 10378c2ecf20Sopenharmony_ci tristate "SPI slave handler reporting boot up time" 10388c2ecf20Sopenharmony_ci help 10398c2ecf20Sopenharmony_ci SPI slave handler responding with the time of reception of the last 10408c2ecf20Sopenharmony_ci SPI message. 10418c2ecf20Sopenharmony_ci 10428c2ecf20Sopenharmony_ciconfig SPI_SLAVE_SYSTEM_CONTROL 10438c2ecf20Sopenharmony_ci tristate "SPI slave handler controlling system state" 10448c2ecf20Sopenharmony_ci help 10458c2ecf20Sopenharmony_ci SPI slave handler to allow remote control of system reboot, power 10468c2ecf20Sopenharmony_ci off, halt, and suspend. 10478c2ecf20Sopenharmony_ci 10488c2ecf20Sopenharmony_ciendif # SPI_SLAVE 10498c2ecf20Sopenharmony_ci 10508c2ecf20Sopenharmony_ciconfig SPI_DYNAMIC 10518c2ecf20Sopenharmony_ci def_bool ACPI || OF_DYNAMIC || SPI_SLAVE 10528c2ecf20Sopenharmony_ci 10538c2ecf20Sopenharmony_ciendif # SPI 1054