Merge remote-tracking branches 'spi/topic/mtk', 'spi/topic/pxa2xx', 'spi/topic/qspi...
[platform/kernel/linux-exynos.git] / drivers / spi / Kconfig
1 #
2 # SPI driver configuration
3 #
4 # NOTE:  the reason this doesn't show SPI slave support is mostly that
5 # nobody's needed a slave side API yet.  The master-role API is not
6 # fully appropriate there, so it'd need some thought to do well.
7 #
8 menuconfig SPI
9         bool "SPI support"
10         depends on HAS_IOMEM
11         help
12           The "Serial Peripheral Interface" is a low level synchronous
13           protocol.  Chips that support SPI can have data transfer rates
14           up to several tens of Mbit/sec.  Chips are addressed with a
15           controller and a chipselect.  Most SPI slaves don't support
16           dynamic device discovery; some are even write-only or read-only.
17
18           SPI is widely used by microcontrollers to talk with sensors,
19           eeprom and flash memory, codecs and various other controller
20           chips, analog to digital (and d-to-a) converters, and more.
21           MMC and SD cards can be accessed using SPI protocol; and for
22           DataFlash cards used in MMC sockets, SPI must always be used.
23
24           SPI is one of a family of similar protocols using a four wire
25           interface (select, clock, data in, data out) including Microwire
26           (half duplex), SSP, SSI, and PSP.  This driver framework should
27           work with most such devices and controllers.
28
29 if SPI
30
31 config SPI_DEBUG
32         bool "Debug support for SPI drivers"
33         depends on DEBUG_KERNEL
34         help
35           Say "yes" to enable debug messaging (like dev_dbg and pr_debug),
36           sysfs, and debugfs support in SPI controller and protocol drivers.
37
38 #
39 # MASTER side ... talking to discrete SPI slave chips including microcontrollers
40 #
41
42 config SPI_MASTER
43 #       bool "SPI Master Support"
44         bool
45         default SPI
46         help
47           If your system has an master-capable SPI controller (which
48           provides the clock and chipselect), you can enable that
49           controller and the protocol drivers for the SPI slave chips
50           that are connected.
51
52 if SPI_MASTER
53
54 comment "SPI Master Controller Drivers"
55
56 config SPI_ALTERA
57         tristate "Altera SPI Controller"
58         select SPI_BITBANG
59         help
60           This is the driver for the Altera SPI Controller.
61
62 config SPI_ATH79
63         tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver"
64         depends on ATH79 && GPIOLIB
65         select SPI_BITBANG
66         help
67           This enables support for the SPI controller present on the
68           Atheros AR71XX/AR724X/AR913X SoCs.
69
70 config SPI_ATMEL
71         tristate "Atmel SPI Controller"
72         depends on HAS_DMA
73         depends on (ARCH_AT91 || AVR32 || COMPILE_TEST)
74         help
75           This selects a driver for the Atmel SPI Controller, present on
76           many AT32 (AVR32) and AT91 (ARM) chips.
77
78 config SPI_BCM2835
79         tristate "BCM2835 SPI controller"
80         depends on GPIOLIB
81         depends on ARCH_BCM2835 || COMPILE_TEST
82         depends on GPIOLIB
83         help
84           This selects a driver for the Broadcom BCM2835 SPI master.
85
86           The BCM2835 contains two types of SPI master controller; the
87           "universal SPI master", and the regular SPI controller. This driver
88           is for the regular SPI controller. Slave mode operation is not also
89           not supported.
90
91 config SPI_BFIN5XX
92         tristate "SPI controller driver for ADI Blackfin5xx"
93         depends on BLACKFIN && !BF60x
94         help
95           This is the SPI controller master driver for Blackfin 5xx processor.
96
97 config SPI_ADI_V3
98         tristate "SPI controller v3 for ADI"
99         depends on BF60x
100         help
101           This is the SPI controller v3 master driver
102           found on Blackfin 60x processor.
103
104 config SPI_BFIN_SPORT
105         tristate "SPI bus via Blackfin SPORT"
106         depends on BLACKFIN
107         help
108           Enable support for a SPI bus via the Blackfin SPORT peripheral.
109
110 config SPI_AU1550
111         tristate "Au1550/Au1200/Au1300 SPI Controller"
112         depends on MIPS_ALCHEMY
113         select SPI_BITBANG
114         help
115           If you say yes to this option, support will be included for the
116           PSC SPI controller found on Au1550, Au1200 and Au1300 series.
117
118 config SPI_BCM53XX
119         tristate "Broadcom BCM53xx SPI controller"
120         depends on ARCH_BCM_5301X
121         depends on BCMA_POSSIBLE
122         select BCMA
123         help
124           Enable support for the SPI controller on Broadcom BCM53xx ARM SoCs.
125
126 config SPI_BCM63XX
127         tristate "Broadcom BCM63xx SPI controller"
128         depends on BCM63XX
129         help
130           Enable support for the SPI controller on the Broadcom BCM63xx SoCs.
131
132 config SPI_BCM63XX_HSSPI
133         tristate "Broadcom BCM63XX HS SPI controller driver"
134         depends on BCM63XX || COMPILE_TEST
135         help
136           This enables support for the High Speed SPI controller present on
137           newer Broadcom BCM63XX SoCs.
138
139 config SPI_BITBANG
140         tristate "Utilities for Bitbanging SPI masters"
141         help
142           With a few GPIO pins, your system can bitbang the SPI protocol.
143           Select this to get SPI support through I/O pins (GPIO, parallel
144           port, etc).  Or, some systems' SPI master controller drivers use
145           this code to manage the per-word or per-transfer accesses to the
146           hardware shift registers.
147
148           This is library code, and is automatically selected by drivers that
149           need it.  You only need to select this explicitly to support driver
150           modules that aren't part of this kernel tree.
151
152 config SPI_BUTTERFLY
153         tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)"
154         depends on PARPORT
155         select SPI_BITBANG
156         help
157           This uses a custom parallel port cable to connect to an AVR
158           Butterfly <http://www.atmel.com/products/avr/butterfly>, an
159           inexpensive battery powered microcontroller evaluation board.
160           This same cable can be used to flash new firmware.
161
162 config SPI_CADENCE
163         tristate "Cadence SPI controller"
164         help
165           This selects the Cadence SPI controller master driver
166           used by Xilinx Zynq and ZynqMP.
167
168 config SPI_CLPS711X
169         tristate "CLPS711X host SPI controller"
170         depends on ARCH_CLPS711X || COMPILE_TEST
171         help
172           This enables dedicated general purpose SPI/Microwire1-compatible
173           master mode interface (SSI1) for CLPS711X-based CPUs.
174
175 config SPI_COLDFIRE_QSPI
176         tristate "Freescale Coldfire QSPI controller"
177         depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x)
178         help
179           This enables support for the Coldfire QSPI controller in master
180           mode.
181
182 config SPI_DAVINCI
183         tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller"
184         depends on ARCH_DAVINCI || ARCH_KEYSTONE
185         select SPI_BITBANG
186         help
187           SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules.
188
189 config SPI_DLN2
190        tristate "Diolan DLN-2 USB SPI adapter"
191        depends on MFD_DLN2
192        help
193          If you say yes to this option, support will be included for Diolan
194          DLN2, a USB to SPI interface.
195
196          This driver can also be built as a module.  If so, the module
197          will be called spi-dln2.
198
199 config SPI_EFM32
200         tristate "EFM32 SPI controller"
201         depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
202         select SPI_BITBANG
203         help
204           Driver for the spi controller found on Energy Micro's EFM32 SoCs.
205
206 config SPI_EP93XX
207         tristate "Cirrus Logic EP93xx SPI controller"
208         depends on HAS_DMA
209         depends on ARCH_EP93XX || COMPILE_TEST
210         help
211           This enables using the Cirrus EP93xx SPI controller in master
212           mode.
213
214 config SPI_FALCON
215         tristate "Falcon SPI controller support"
216         depends on SOC_FALCON
217         help
218           The external bus unit (EBU) found on the FALC-ON SoC has SPI
219           emulation that is designed for serial flash access. This driver
220           has only been tested with m25p80 type chips. The hardware has no
221           support for other types of SPI peripherals.
222
223 config SPI_GPIO
224         tristate "GPIO-based bitbanging SPI Master"
225         depends on GPIOLIB || COMPILE_TEST
226         select SPI_BITBANG
227         help
228           This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
229           interface to manage MOSI, MISO, SCK, and chipselect signals.  SPI
230           slaves connected to a bus using this driver are configured as usual,
231           except that the spi_board_info.controller_data holds the GPIO number
232           for the chipselect used by this controller driver.
233
234           Note that this driver often won't achieve even 1 Mbit/sec speeds,
235           making it unusually slow for SPI.  If your platform can inline
236           GPIO operations, you should be able to leverage that for better
237           speed with a custom version of this driver; see the source code.
238
239 config SPI_IMG_SPFI
240         tristate "IMG SPFI controller"
241         depends on MIPS || COMPILE_TEST
242         help
243           This enables support for the SPFI master controller found on
244           IMG SoCs.
245
246 config SPI_IMX
247         tristate "Freescale i.MX SPI controllers"
248         depends on ARCH_MXC || COMPILE_TEST
249         select SPI_BITBANG
250         help
251           This enables using the Freescale i.MX SPI controllers in master
252           mode.
253
254 config SPI_LM70_LLP
255         tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
256         depends on PARPORT
257         select SPI_BITBANG
258         help
259           This driver supports the NS LM70 LLP Evaluation Board,
260           which interfaces to an LM70 temperature sensor using
261           a parallel port.
262
263 config SPI_MPC52xx
264         tristate "Freescale MPC52xx SPI (non-PSC) controller support"
265         depends on PPC_MPC52xx
266         help
267           This drivers supports the MPC52xx SPI controller in master SPI
268           mode.
269
270 config SPI_MPC52xx_PSC
271         tristate "Freescale MPC52xx PSC SPI controller"
272         depends on PPC_MPC52xx
273         help
274           This enables using the Freescale MPC52xx Programmable Serial
275           Controller in master SPI mode.
276
277 config SPI_MPC512x_PSC
278         tristate "Freescale MPC512x PSC SPI controller"
279         depends on PPC_MPC512x
280         help
281           This enables using the Freescale MPC5121 Programmable Serial
282           Controller in SPI master mode.
283
284 config SPI_FSL_LIB
285         tristate
286         depends on OF
287
288 config SPI_FSL_CPM
289         tristate
290         depends on FSL_SOC
291
292 config SPI_FSL_SPI
293         tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller"
294         depends on OF
295         select SPI_FSL_LIB
296         select SPI_FSL_CPM if FSL_SOC
297         help
298           This enables using the Freescale SPI controllers in master mode.
299           MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
300           MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
301           This also enables using the Aeroflex Gaisler GRLIB SPI controller in
302           master mode.
303
304 config SPI_FSL_DSPI
305         tristate "Freescale DSPI controller"
306         select REGMAP_MMIO
307         depends on SOC_VF610 || SOC_LS1021A || COMPILE_TEST
308         help
309           This enables support for the Freescale DSPI controller in master
310           mode. VF610 platform uses the controller.
311
312 config SPI_FSL_ESPI
313         tristate "Freescale eSPI controller"
314         depends on FSL_SOC
315         select SPI_FSL_LIB
316         help
317           This enables using the Freescale eSPI controllers in master mode.
318           From MPC8536, 85xx platform uses the controller, and all P10xx,
319           P20xx, P30xx,P40xx, P50xx uses this controller.
320
321 config SPI_MESON_SPIFC
322         tristate "Amlogic Meson SPIFC controller"
323         depends on ARCH_MESON || COMPILE_TEST
324         select REGMAP_MMIO
325         help
326           This enables master mode support for the SPIFC (SPI flash
327           controller) available in Amlogic Meson SoCs.
328
329 config SPI_MT65XX
330         tristate "MediaTek SPI controller"
331         depends on ARCH_MEDIATEK || COMPILE_TEST
332         help
333           This selects the MediaTek(R) SPI bus driver.
334           If you want to use MediaTek(R) SPI interface,
335           say Y or M here.If you are not sure, say N.
336           SPI drivers for Mediatek MT65XX and MT81XX series ARM SoCs.
337
338 config SPI_OC_TINY
339         tristate "OpenCores tiny SPI"
340         depends on GPIOLIB || COMPILE_TEST
341         select SPI_BITBANG
342         help
343           This is the driver for OpenCores tiny SPI master controller.
344
345 config SPI_OCTEON
346         tristate "Cavium OCTEON SPI controller"
347         depends on CAVIUM_OCTEON_SOC
348         help
349           SPI host driver for the hardware found on some Cavium OCTEON
350           SOCs.
351
352 config SPI_OMAP_UWIRE
353         tristate "OMAP1 MicroWire"
354         depends on ARCH_OMAP1
355         select SPI_BITBANG
356         help
357           This hooks up to the MicroWire controller on OMAP1 chips.
358
359 config SPI_OMAP24XX
360         tristate "McSPI driver for OMAP"
361         depends on HAS_DMA
362         depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
363         depends on ARCH_OMAP2PLUS || COMPILE_TEST
364         help
365           SPI master controller for OMAP24XX and later Multichannel SPI
366           (McSPI) modules.
367
368 config SPI_TI_QSPI
369         tristate "DRA7xxx QSPI controller support"
370         depends on ARCH_OMAP2PLUS || COMPILE_TEST
371         help
372           QSPI master controller for DRA7xxx used for flash devices.
373           This device supports single, dual and quad read support, while
374           it only supports single write mode.
375
376 config SPI_OMAP_100K
377         tristate "OMAP SPI 100K"
378         depends on ARCH_OMAP850 || ARCH_OMAP730 || COMPILE_TEST
379         help
380           OMAP SPI 100K master controller for omap7xx boards.
381
382 config SPI_ORION
383         tristate "Orion SPI master"
384         depends on PLAT_ORION || COMPILE_TEST
385         help
386           This enables using the SPI master controller on the Orion chips.
387
388 config SPI_PL022
389         tristate "ARM AMBA PL022 SSP controller"
390         depends on ARM_AMBA
391         default y if MACH_U300
392         default y if ARCH_REALVIEW
393         default y if INTEGRATOR_IMPD1
394         default y if ARCH_VERSATILE
395         help
396           This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP
397           controller. If you have an embedded system with an AMBA(R)
398           bus and a PL022 controller, say Y or M here.
399
400 config SPI_PPC4xx
401         tristate "PPC4xx SPI Controller"
402         depends on PPC32 && 4xx
403         select SPI_BITBANG
404         help
405           This selects a driver for the PPC4xx SPI Controller.
406
407 config SPI_PXA2XX_DMA
408         def_bool y
409         depends on SPI_PXA2XX
410
411 config SPI_PXA2XX
412         tristate "PXA2xx SSP SPI master"
413         depends on (ARCH_PXA || PCI || ACPI)
414         select PXA_SSP if ARCH_PXA
415         help
416           This enables using a PXA2xx or Sodaville SSP port as a SPI master
417           controller. The driver can be configured to use any SSP port and
418           additional documentation can be found a Documentation/spi/pxa2xx.
419
420 config SPI_PXA2XX_PCI
421         def_tristate SPI_PXA2XX && PCI && COMMON_CLK
422
423 config SPI_ROCKCHIP
424         tristate "Rockchip SPI controller driver"
425         depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
426         help
427           This selects a driver for Rockchip SPI controller.
428
429           If you say yes to this option, support will be included for
430           RK3066, RK3188 and RK3288 families of SPI controller.
431           Rockchip SPI controller support DMA transport and PIO mode.
432           The main usecase of this controller is to use spi flash as boot
433           device.
434
435 config SPI_RB4XX
436         tristate "Mikrotik RB4XX SPI master"
437         depends on SPI_MASTER && ATH79
438         help
439           SPI controller driver for the Mikrotik RB4xx series boards.
440
441 config SPI_RSPI
442         tristate "Renesas RSPI/QSPI controller"
443         depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
444         help
445           SPI driver for Renesas RSPI and QSPI blocks.
446
447 config SPI_QUP
448         tristate "Qualcomm SPI controller with QUP interface"
449         depends on ARCH_QCOM || (ARM && COMPILE_TEST)
450         help
451           Qualcomm Universal Peripheral (QUP) core is an AHB slave that
452           provides a common data path (an output FIFO and an input FIFO)
453           for serial peripheral interface (SPI) mini-core. SPI in master
454           mode supports up to 50MHz, up to four chip selects, programmable
455           data path from 4 bits to 32 bits and numerous protocol variants.
456
457           This driver can also be built as a module.  If so, the module
458           will be called spi_qup.
459
460 config SPI_S3C24XX
461         tristate "Samsung S3C24XX series SPI"
462         depends on ARCH_S3C24XX
463         select SPI_BITBANG
464         help
465           SPI driver for Samsung S3C24XX series ARM SoCs
466
467 config SPI_S3C24XX_FIQ
468         bool "S3C24XX driver with FIQ pseudo-DMA"
469         depends on SPI_S3C24XX
470         select FIQ
471         help
472           Enable FIQ support for the S3C24XX SPI driver to provide pseudo
473           DMA by using the fast-interrupt request framework, This allows
474           the driver to get DMA-like performance when there are either
475           no free DMA channels, or when doing transfers that required both
476           TX and RX data paths.
477
478 config SPI_S3C64XX
479         tristate "Samsung S3C64XX series type SPI"
480         depends on (PLAT_SAMSUNG || ARCH_EXYNOS)
481         help
482           SPI driver for Samsung S3C64XX and newer SoCs.
483
484 config SPI_SC18IS602
485         tristate "NXP SC18IS602/602B/603 I2C to SPI bridge"
486         depends on I2C
487         help
488           SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge.
489
490 config SPI_SH_MSIOF
491         tristate "SuperH MSIOF SPI controller"
492         depends on HAVE_CLK && HAS_DMA
493         depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
494         help
495           SPI driver for SuperH and SH Mobile MSIOF blocks.
496
497 config SPI_SH
498         tristate "SuperH SPI controller"
499         depends on SUPERH || COMPILE_TEST
500         help
501           SPI driver for SuperH SPI blocks.
502
503 config SPI_SH_SCI
504         tristate "SuperH SCI SPI controller"
505         depends on SUPERH
506         select SPI_BITBANG
507         help
508           SPI driver for SuperH SCI blocks.
509
510 config SPI_SH_HSPI
511         tristate "SuperH HSPI controller"
512         depends on ARCH_SHMOBILE || COMPILE_TEST
513         help
514           SPI driver for SuperH HSPI blocks.
515
516 config SPI_SIRF
517         tristate "CSR SiRFprimaII SPI controller"
518         depends on SIRF_DMA
519         select SPI_BITBANG
520         help
521           SPI driver for CSR SiRFprimaII SoCs
522
523 config SPI_ST_SSC4
524         tristate "STMicroelectronics SPI SSC-based driver"
525         depends on ARCH_STI
526         help
527           STMicroelectronics SoCs support for SPI. If you say yes to
528           this option, support will be included for the SSC driven SPI.
529
530 config SPI_SUN4I
531         tristate "Allwinner A10 SoCs SPI controller"
532         depends on ARCH_SUNXI || COMPILE_TEST
533         help
534           SPI driver for Allwinner sun4i, sun5i and sun7i SoCs
535
536 config SPI_SUN6I
537         tristate "Allwinner A31 SPI controller"
538         depends on ARCH_SUNXI || COMPILE_TEST
539         depends on RESET_CONTROLLER
540         help
541           This enables using the SPI controller on the Allwinner A31 SoCs.
542
543 config SPI_MXS
544         tristate "Freescale MXS SPI controller"
545         depends on ARCH_MXS
546         select STMP_DEVICE
547         help
548           SPI driver for Freescale MXS devices.
549
550 config SPI_TEGRA114
551         tristate "NVIDIA Tegra114 SPI Controller"
552         depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
553         depends on RESET_CONTROLLER && HAS_DMA
554         help
555           SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller
556           is different than the older SoCs SPI controller and also register interface
557           get changed with this controller.
558
559 config SPI_TEGRA20_SFLASH
560         tristate "Nvidia Tegra20 Serial flash Controller"
561         depends on ARCH_TEGRA || COMPILE_TEST
562         depends on RESET_CONTROLLER
563         help
564           SPI driver for Nvidia Tegra20 Serial flash Controller interface.
565           The main usecase of this controller is to use spi flash as boot
566           device.
567
568 config SPI_TEGRA20_SLINK
569         tristate "Nvidia Tegra20/Tegra30 SLINK Controller"
570         depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
571         depends on RESET_CONTROLLER && HAS_DMA
572         help
573           SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface.
574
575 config SPI_TOPCLIFF_PCH
576         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI"
577         depends on PCI && (X86_32 || COMPILE_TEST)
578         help
579           SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
580           used in some x86 embedded processors.
581
582           This driver also supports the ML7213/ML7223/ML7831, a companion chip
583           for the Atom E6xx series and compatible with the Intel EG20T PCH.
584
585 config SPI_TXX9
586         tristate "Toshiba TXx9 SPI controller"
587         depends on GPIOLIB && (CPU_TX49XX || COMPILE_TEST)
588         help
589           SPI driver for Toshiba TXx9 MIPS SoCs
590
591 config SPI_XCOMM
592         tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver"
593         depends on I2C
594         help
595           Support for the SPI-I2C bridge found on the Analog Devices
596           AD-FMCOMMS1-EBZ board.
597
598 config SPI_XILINX
599         tristate "Xilinx SPI controller common module"
600         depends on HAS_IOMEM
601         select SPI_BITBANG
602         help
603           This exposes the SPI controller IP from the Xilinx EDK.
604
605           See the "OPB Serial Peripheral Interface (SPI) (v1.00e)"
606           Product Specification document (DS464) for hardware details.
607
608           Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)"
609
610 config SPI_XTENSA_XTFPGA
611         tristate "Xtensa SPI controller for xtfpga"
612         depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST
613         select SPI_BITBANG
614         help
615           SPI driver for xtfpga SPI master controller.
616
617           This simple SPI master controller is built into xtfpga bitstreams
618           and is used to control daughterboard audio codec. It always transfers
619           16 bit words in SPI mode 0, automatically asserting CS on transfer
620           start and deasserting on end.
621
622 config SPI_ZYNQMP_GQSPI
623         tristate "Xilinx ZynqMP GQSPI controller"
624         depends on SPI_MASTER && HAS_DMA
625         help
626           Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC.
627
628 config SPI_NUC900
629         tristate "Nuvoton NUC900 series SPI"
630         depends on ARCH_W90X900
631         select SPI_BITBANG
632         help
633           SPI driver for Nuvoton NUC900 series ARM SoCs
634
635 #
636 # Add new SPI master controllers in alphabetical order above this line
637 #
638
639 config SPI_DESIGNWARE
640         tristate "DesignWare SPI controller core support"
641         help
642           general driver for SPI controller core from DesignWare
643
644 config SPI_DW_PCI
645         tristate "PCI interface driver for DW SPI core"
646         depends on SPI_DESIGNWARE && PCI
647
648 config SPI_DW_MID_DMA
649         bool "DMA support for DW SPI controller on Intel MID platform"
650         depends on SPI_DW_PCI && DW_DMAC_PCI
651
652 config SPI_DW_MMIO
653         tristate "Memory-mapped io interface driver for DW SPI core"
654         depends on SPI_DESIGNWARE
655
656 #
657 # There are lots of SPI device types, with sensors and memory
658 # being probably the most widely used ones.
659 #
660 comment "SPI Protocol Masters"
661
662 config SPI_SPIDEV
663         tristate "User mode SPI device driver support"
664         help
665           This supports user mode SPI protocol drivers.
666
667           Note that this application programming interface is EXPERIMENTAL
668           and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes.
669
670 config SPI_TLE62X0
671         tristate "Infineon TLE62X0 (for power switching)"
672         depends on SYSFS
673         help
674           SPI driver for Infineon TLE62X0 series line driver chips,
675           such as the TLE6220, TLE6230 and TLE6240.  This provides a
676           sysfs interface, with each line presented as a kind of GPIO
677           exposing both switch control and diagnostic feedback.
678
679 #
680 # Add new SPI protocol masters in alphabetical order above this line
681 #
682
683 endif # SPI_MASTER
684
685 # (slave support would go here)
686
687 endif # SPI