xref: /openbmc/linux/drivers/spi/Kconfig (revision eb3fcf00)
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_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
338config 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
345config 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
352config 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
359config 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
368config 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
376config 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
382config 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
388config 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
400config 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
407config SPI_PXA2XX_DMA
408	def_bool y
409	depends on SPI_PXA2XX
410
411config 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
420config SPI_PXA2XX_PCI
421	def_tristate SPI_PXA2XX && PCI && COMMON_CLK
422
423config 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
435config 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
441config 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
447config 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
460config 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
467config 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
478config 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
484config 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
490config 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
497config SPI_SH
498	tristate "SuperH SPI controller"
499	depends on SUPERH || COMPILE_TEST
500	help
501	  SPI driver for SuperH SPI blocks.
502
503config 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
510config 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
516config 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
523config 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
530config 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
536config 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
543config 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
550config 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
559config 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
568config 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
575config 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
585config 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
591config 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
598config 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
610config SPI_XLP
611	tristate "Netlogic XLP SPI controller driver"
612	depends on CPU_XLP || COMPILE_TEST
613	help
614	  Enable support for the SPI controller on the Netlogic XLP SoCs.
615	  Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, XLP9XX
616	  and XLP5XX.
617
618	  If you have a Netlogic XLP platform say Y here.
619	  If unsure, say N.
620
621config SPI_XTENSA_XTFPGA
622	tristate "Xtensa SPI controller for xtfpga"
623	depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST
624	select SPI_BITBANG
625	help
626	  SPI driver for xtfpga SPI master controller.
627
628	  This simple SPI master controller is built into xtfpga bitstreams
629	  and is used to control daughterboard audio codec. It always transfers
630	  16 bit words in SPI mode 0, automatically asserting CS on transfer
631	  start and deasserting on end.
632
633config SPI_ZYNQMP_GQSPI
634	tristate "Xilinx ZynqMP GQSPI controller"
635	depends on SPI_MASTER && HAS_DMA
636	help
637	  Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC.
638
639config SPI_NUC900
640	tristate "Nuvoton NUC900 series SPI"
641	depends on ARCH_W90X900
642	select SPI_BITBANG
643	help
644	  SPI driver for Nuvoton NUC900 series ARM SoCs
645
646#
647# Add new SPI master controllers in alphabetical order above this line
648#
649
650config SPI_DESIGNWARE
651	tristate "DesignWare SPI controller core support"
652	help
653	  general driver for SPI controller core from DesignWare
654
655config SPI_DW_PCI
656	tristate "PCI interface driver for DW SPI core"
657	depends on SPI_DESIGNWARE && PCI
658
659config SPI_DW_MID_DMA
660	bool "DMA support for DW SPI controller on Intel MID platform"
661	depends on SPI_DW_PCI && DW_DMAC_PCI
662
663config SPI_DW_MMIO
664	tristate "Memory-mapped io interface driver for DW SPI core"
665	depends on SPI_DESIGNWARE
666
667#
668# There are lots of SPI device types, with sensors and memory
669# being probably the most widely used ones.
670#
671comment "SPI Protocol Masters"
672
673config SPI_SPIDEV
674	tristate "User mode SPI device driver support"
675	help
676	  This supports user mode SPI protocol drivers.
677
678	  Note that this application programming interface is EXPERIMENTAL
679	  and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes.
680
681config SPI_TLE62X0
682	tristate "Infineon TLE62X0 (for power switching)"
683	depends on SYSFS
684	help
685	  SPI driver for Infineon TLE62X0 series line driver chips,
686	  such as the TLE6220, TLE6230 and TLE6240.  This provides a
687	  sysfs interface, with each line presented as a kind of GPIO
688	  exposing both switch control and diagnostic feedback.
689
690#
691# Add new SPI protocol masters in alphabetical order above this line
692#
693
694endif # SPI_MASTER
695
696# (slave support would go here)
697
698endif # SPI
699