xref: /openbmc/linux/drivers/spi/Kconfig (revision f5005f78)
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#
8menuconfig 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
29if SPI
30
31config 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
42config 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
52if SPI_MASTER
53
54comment "SPI Master Controller Drivers"
55
56config SPI_ALTERA
57	tristate "Altera SPI Controller"
58	select SPI_BITBANG
59	help
60	  This is the driver for the Altera SPI Controller.
61
62config 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
70config 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
78config 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
91config 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
97config 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
104config 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
110config 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
118config 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
126config 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
132config 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
139config 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
152config 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
162config 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
168config 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
175config 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
182config 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
189config 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
199config 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
206config 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
214config 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
223config 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
239config 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
246config 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
254config 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
263config 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
270config 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
277config 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
284config SPI_FSL_LIB
285	tristate
286	depends on OF
287
288config SPI_FSL_CPM
289	tristate
290	depends on FSL_SOC
291
292config 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
304config 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
312config 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
321config 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
329config SPI_OC_TINY
330	tristate "OpenCores tiny SPI"
331	depends on GPIOLIB || COMPILE_TEST
332	select SPI_BITBANG
333	help
334	  This is the driver for OpenCores tiny SPI master controller.
335
336config SPI_OCTEON
337	tristate "Cavium OCTEON SPI controller"
338	depends on CAVIUM_OCTEON_SOC
339	help
340	  SPI host driver for the hardware found on some Cavium OCTEON
341	  SOCs.
342
343config SPI_OMAP_UWIRE
344	tristate "OMAP1 MicroWire"
345	depends on ARCH_OMAP1
346	select SPI_BITBANG
347	help
348	  This hooks up to the MicroWire controller on OMAP1 chips.
349
350config SPI_OMAP24XX
351	tristate "McSPI driver for OMAP"
352	depends on HAS_DMA
353	depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
354	depends on ARCH_OMAP2PLUS || COMPILE_TEST
355	help
356	  SPI master controller for OMAP24XX and later Multichannel SPI
357	  (McSPI) modules.
358
359config SPI_TI_QSPI
360	tristate "DRA7xxx QSPI controller support"
361	depends on ARCH_OMAP2PLUS || COMPILE_TEST
362	help
363	  QSPI master controller for DRA7xxx used for flash devices.
364	  This device supports single, dual and quad read support, while
365	  it only supports single write mode.
366
367config SPI_OMAP_100K
368	tristate "OMAP SPI 100K"
369	depends on ARCH_OMAP850 || ARCH_OMAP730 || COMPILE_TEST
370	help
371	  OMAP SPI 100K master controller for omap7xx boards.
372
373config SPI_ORION
374	tristate "Orion SPI master"
375	depends on PLAT_ORION || COMPILE_TEST
376	help
377	  This enables using the SPI master controller on the Orion chips.
378
379config SPI_PL022
380	tristate "ARM AMBA PL022 SSP controller"
381	depends on ARM_AMBA
382	default y if MACH_U300
383	default y if ARCH_REALVIEW
384	default y if INTEGRATOR_IMPD1
385	default y if ARCH_VERSATILE
386	help
387	  This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP
388	  controller. If you have an embedded system with an AMBA(R)
389	  bus and a PL022 controller, say Y or M here.
390
391config SPI_PPC4xx
392	tristate "PPC4xx SPI Controller"
393	depends on PPC32 && 4xx
394	select SPI_BITBANG
395	help
396	  This selects a driver for the PPC4xx SPI Controller.
397
398config SPI_PXA2XX_DMA
399	def_bool y
400	depends on SPI_PXA2XX
401
402config SPI_PXA2XX
403	tristate "PXA2xx SSP SPI master"
404	depends on (ARCH_PXA || PCI || ACPI)
405	select PXA_SSP if ARCH_PXA
406	help
407	  This enables using a PXA2xx or Sodaville SSP port as a SPI master
408	  controller. The driver can be configured to use any SSP port and
409	  additional documentation can be found a Documentation/spi/pxa2xx.
410
411config SPI_PXA2XX_PCI
412	def_tristate SPI_PXA2XX && PCI && COMMON_CLK
413
414config SPI_ROCKCHIP
415	tristate "Rockchip SPI controller driver"
416	depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
417	help
418	  This selects a driver for Rockchip SPI controller.
419
420	  If you say yes to this option, support will be included for
421	  RK3066, RK3188 and RK3288 families of SPI controller.
422	  Rockchip SPI controller support DMA transport and PIO mode.
423	  The main usecase of this controller is to use spi flash as boot
424	  device.
425
426config SPI_RB4XX
427	tristate "Mikrotik RB4XX SPI master"
428	depends on SPI_MASTER && ATH79
429	help
430	  SPI controller driver for the Mikrotik RB4xx series boards.
431
432config SPI_RSPI
433	tristate "Renesas RSPI/QSPI controller"
434	depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
435	help
436	  SPI driver for Renesas RSPI and QSPI blocks.
437
438config SPI_QUP
439	tristate "Qualcomm SPI controller with QUP interface"
440	depends on ARCH_QCOM || (ARM && COMPILE_TEST)
441	help
442	  Qualcomm Universal Peripheral (QUP) core is an AHB slave that
443	  provides a common data path (an output FIFO and an input FIFO)
444	  for serial peripheral interface (SPI) mini-core. SPI in master
445	  mode supports up to 50MHz, up to four chip selects, programmable
446	  data path from 4 bits to 32 bits and numerous protocol variants.
447
448	  This driver can also be built as a module.  If so, the module
449	  will be called spi_qup.
450
451config SPI_S3C24XX
452	tristate "Samsung S3C24XX series SPI"
453	depends on ARCH_S3C24XX
454	select SPI_BITBANG
455	help
456	  SPI driver for Samsung S3C24XX series ARM SoCs
457
458config SPI_S3C24XX_FIQ
459	bool "S3C24XX driver with FIQ pseudo-DMA"
460	depends on SPI_S3C24XX
461	select FIQ
462	help
463	  Enable FIQ support for the S3C24XX SPI driver to provide pseudo
464	  DMA by using the fast-interrupt request framework, This allows
465	  the driver to get DMA-like performance when there are either
466	  no free DMA channels, or when doing transfers that required both
467	  TX and RX data paths.
468
469config SPI_S3C64XX
470	tristate "Samsung S3C64XX series type SPI"
471	depends on (PLAT_SAMSUNG || ARCH_EXYNOS)
472	help
473	  SPI driver for Samsung S3C64XX and newer SoCs.
474
475config SPI_SC18IS602
476	tristate "NXP SC18IS602/602B/603 I2C to SPI bridge"
477	depends on I2C
478	help
479	  SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge.
480
481config SPI_SH_MSIOF
482	tristate "SuperH MSIOF SPI controller"
483	depends on HAVE_CLK && HAS_DMA
484	depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
485	help
486	  SPI driver for SuperH and SH Mobile MSIOF blocks.
487
488config SPI_SH
489	tristate "SuperH SPI controller"
490	depends on SUPERH || COMPILE_TEST
491	help
492	  SPI driver for SuperH SPI blocks.
493
494config SPI_SH_SCI
495	tristate "SuperH SCI SPI controller"
496	depends on SUPERH
497	select SPI_BITBANG
498	help
499	  SPI driver for SuperH SCI blocks.
500
501config SPI_SH_HSPI
502	tristate "SuperH HSPI controller"
503	depends on ARCH_SHMOBILE || COMPILE_TEST
504	help
505	  SPI driver for SuperH HSPI blocks.
506
507config SPI_SIRF
508	tristate "CSR SiRFprimaII SPI controller"
509	depends on SIRF_DMA
510	select SPI_BITBANG
511	help
512	  SPI driver for CSR SiRFprimaII SoCs
513
514config SPI_ST_SSC4
515	tristate "STMicroelectronics SPI SSC-based driver"
516	depends on ARCH_STI
517	help
518	  STMicroelectronics SoCs support for SPI. If you say yes to
519	  this option, support will be included for the SSC driven SPI.
520
521config SPI_SUN4I
522	tristate "Allwinner A10 SoCs SPI controller"
523	depends on ARCH_SUNXI || COMPILE_TEST
524	help
525	  SPI driver for Allwinner sun4i, sun5i and sun7i SoCs
526
527config SPI_SUN6I
528	tristate "Allwinner A31 SPI controller"
529	depends on ARCH_SUNXI || COMPILE_TEST
530	depends on RESET_CONTROLLER
531	help
532	  This enables using the SPI controller on the Allwinner A31 SoCs.
533
534config SPI_MXS
535	tristate "Freescale MXS SPI controller"
536	depends on ARCH_MXS
537	select STMP_DEVICE
538	help
539	  SPI driver for Freescale MXS devices.
540
541config SPI_TEGRA114
542	tristate "NVIDIA Tegra114 SPI Controller"
543	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
544	depends on RESET_CONTROLLER && HAS_DMA
545	help
546	  SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller
547	  is different than the older SoCs SPI controller and also register interface
548	  get changed with this controller.
549
550config SPI_TEGRA20_SFLASH
551	tristate "Nvidia Tegra20 Serial flash Controller"
552	depends on ARCH_TEGRA || COMPILE_TEST
553	depends on RESET_CONTROLLER
554	help
555	  SPI driver for Nvidia Tegra20 Serial flash Controller interface.
556	  The main usecase of this controller is to use spi flash as boot
557	  device.
558
559config SPI_TEGRA20_SLINK
560	tristate "Nvidia Tegra20/Tegra30 SLINK Controller"
561	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
562	depends on RESET_CONTROLLER && HAS_DMA
563	help
564	  SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface.
565
566config SPI_TOPCLIFF_PCH
567	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI"
568	depends on PCI && (X86_32 || COMPILE_TEST)
569	help
570	  SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
571	  used in some x86 embedded processors.
572
573	  This driver also supports the ML7213/ML7223/ML7831, a companion chip
574	  for the Atom E6xx series and compatible with the Intel EG20T PCH.
575
576config SPI_TXX9
577	tristate "Toshiba TXx9 SPI controller"
578	depends on GPIOLIB && (CPU_TX49XX || COMPILE_TEST)
579	help
580	  SPI driver for Toshiba TXx9 MIPS SoCs
581
582config SPI_XCOMM
583	tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver"
584	depends on I2C
585	help
586	  Support for the SPI-I2C bridge found on the Analog Devices
587	  AD-FMCOMMS1-EBZ board.
588
589config SPI_XILINX
590	tristate "Xilinx SPI controller common module"
591	depends on HAS_IOMEM
592	select SPI_BITBANG
593	help
594	  This exposes the SPI controller IP from the Xilinx EDK.
595
596	  See the "OPB Serial Peripheral Interface (SPI) (v1.00e)"
597	  Product Specification document (DS464) for hardware details.
598
599	  Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)"
600
601config SPI_XTENSA_XTFPGA
602	tristate "Xtensa SPI controller for xtfpga"
603	depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST
604	select SPI_BITBANG
605	help
606	  SPI driver for xtfpga SPI master controller.
607
608	  This simple SPI master controller is built into xtfpga bitstreams
609	  and is used to control daughterboard audio codec. It always transfers
610	  16 bit words in SPI mode 0, automatically asserting CS on transfer
611	  start and deasserting on end.
612
613config SPI_ZYNQMP_GQSPI
614	tristate "Xilinx ZynqMP GQSPI controller"
615	depends on SPI_MASTER && HAS_DMA
616	help
617	  Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC.
618
619config SPI_NUC900
620	tristate "Nuvoton NUC900 series SPI"
621	depends on ARCH_W90X900
622	select SPI_BITBANG
623	help
624	  SPI driver for Nuvoton NUC900 series ARM SoCs
625
626#
627# Add new SPI master controllers in alphabetical order above this line
628#
629
630config SPI_DESIGNWARE
631	tristate "DesignWare SPI controller core support"
632	help
633	  general driver for SPI controller core from DesignWare
634
635config SPI_DW_PCI
636	tristate "PCI interface driver for DW SPI core"
637	depends on SPI_DESIGNWARE && PCI
638
639config SPI_DW_MID_DMA
640	bool "DMA support for DW SPI controller on Intel MID platform"
641	depends on SPI_DW_PCI && DW_DMAC_PCI
642
643config SPI_DW_MMIO
644	tristate "Memory-mapped io interface driver for DW SPI core"
645	depends on SPI_DESIGNWARE
646
647#
648# There are lots of SPI device types, with sensors and memory
649# being probably the most widely used ones.
650#
651comment "SPI Protocol Masters"
652
653config SPI_SPIDEV
654	tristate "User mode SPI device driver support"
655	help
656	  This supports user mode SPI protocol drivers.
657
658	  Note that this application programming interface is EXPERIMENTAL
659	  and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes.
660
661config SPI_TLE62X0
662	tristate "Infineon TLE62X0 (for power switching)"
663	depends on SYSFS
664	help
665	  SPI driver for Infineon TLE62X0 series line driver chips,
666	  such as the TLE6220, TLE6230 and TLE6240.  This provides a
667	  sysfs interface, with each line presented as a kind of GPIO
668	  exposing both switch control and diagnostic feedback.
669
670#
671# Add new SPI protocol masters in alphabetical order above this line
672#
673
674endif # SPI_MASTER
675
676# (slave support would go here)
677
678endif # SPI
679