Linux Audio

Check our new training course

Loading...
v6.13.7
   1# SPDX-License-Identifier: GPL-2.0-only
   2#
   3# SPI driver configuration
   4#
 
 
 
 
   5menuconfig SPI
   6	bool "SPI support"
   7	depends on HAS_IOMEM
   8	help
   9	  The "Serial Peripheral Interface" is a low level synchronous
  10	  protocol.  Chips that support SPI can have data transfer rates
  11	  up to several tens of Mbit/sec.  Chips are addressed with a
  12	  controller and a chipselect.  Most SPI slaves don't support
  13	  dynamic device discovery; some are even write-only or read-only.
  14
  15	  SPI is widely used by microcontrollers to talk with sensors,
  16	  eeprom and flash memory, codecs and various other controller
  17	  chips, analog to digital (and d-to-a) converters, and more.
  18	  MMC and SD cards can be accessed using SPI protocol; and for
  19	  DataFlash cards used in MMC sockets, SPI must always be used.
  20
  21	  SPI is one of a family of similar protocols using a four wire
  22	  interface (select, clock, data in, data out) including Microwire
  23	  (half duplex), SSP, SSI, and PSP.  This driver framework should
  24	  work with most such devices and controllers.
  25
  26if SPI
  27
  28config SPI_DEBUG
  29	bool "Debug support for SPI drivers"
  30	depends on DEBUG_KERNEL
  31	help
  32	  Say "yes" to enable debug messaging (like dev_dbg and pr_debug),
  33	  sysfs, and debugfs support in SPI controller and protocol drivers.
  34
  35#
  36# MASTER side ... talking to discrete SPI slave chips including microcontrollers
  37#
  38
  39config SPI_MASTER
  40#	bool "SPI Master Support"
  41	bool
  42	default SPI
  43	help
  44	  If your system has an master-capable SPI controller (which
  45	  provides the clock and chipselect), you can enable that
  46	  controller and the protocol drivers for the SPI slave chips
  47	  that are connected.
  48
  49if SPI_MASTER
  50
  51config SPI_MEM
  52	bool "SPI memory extension"
  53	help
  54	  Enable this option if you want to enable the SPI memory extension.
  55	  This extension is meant to simplify interaction with SPI memories
  56	  by providing a high-level interface to send memory-like commands.
  57
  58comment "SPI Master Controller Drivers"
  59
  60config SPI_AIROHA_SNFI
  61	tristate "Airoha SPI NAND Flash Interface"
  62	depends on ARCH_AIROHA || COMPILE_TEST
  63	depends on SPI_MASTER
  64	select REGMAP_MMIO
  65	help
  66	  This enables support for SPI-NAND mode on the Airoha NAND
  67	  Flash Interface found on Airoha ARM SoCs. This controller
  68	  is implemented as a SPI-MEM controller.
  69
  70config SPI_ALTERA
  71	tristate "Altera SPI Controller platform driver"
  72	select SPI_ALTERA_CORE
  73	select REGMAP_MMIO
  74	help
  75	  This is the driver for the Altera SPI Controller.
  76
  77config SPI_ALTERA_CORE
  78	tristate "Altera SPI Controller core code" if COMPILE_TEST
  79	select REGMAP
  80	help
  81	  "The core code for the Altera SPI Controller"
  82
  83config SPI_ALTERA_DFL
  84	tristate "DFL bus driver for Altera SPI Controller"
  85	depends on FPGA_DFL
  86	select SPI_ALTERA_CORE
  87	help
  88	  This is a Device Feature List (DFL) bus driver for the
  89	  Altera SPI master controller.  The SPI master is connected
  90	  to a SPI slave to Avalon bridge in a Intel MAX BMC.
  91
  92config SPI_AMLOGIC_SPIFC_A1
  93	tristate "Amlogic A1 SPIFC controller"
  94	depends on ARCH_MESON || COMPILE_TEST
  95	help
  96	  This enables master mode support for the SPIFC (SPI flash
  97	  controller) available in Amlogic A1 (A113L SoC).
  98
  99config SPI_APPLE
 100	tristate "Apple SoC SPI Controller platform driver"
 101	depends on ARCH_APPLE || COMPILE_TEST
 102	help
 103	  This enables support for the SPI controller present on
 104	  many Apple SoCs, including the t8103 (M1), t8112 (M2)
 105	  and t600x (M1 Pro/Max/Ultra). Multiple SPI controller
 106	  instances are present on the SoC and each connects usually
 107	  to a single device like spi-nor (nvram), input device controller
 108	  or fingerprint sensor.
 109
 110config SPI_AR934X
 111	tristate "Qualcomm Atheros AR934X/QCA95XX SPI controller driver"
 112	depends on ATH79 || COMPILE_TEST
 113	help
 114	  This enables support for the SPI controller present on the
 115	  Qualcomm Atheros AR934X/QCA95XX SoCs.
 116
 117config SPI_ATH79
 118	tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver"
 119	depends on ATH79 || COMPILE_TEST
 120	select SPI_BITBANG
 121	help
 122	  This enables support for the SPI controller present on the
 123	  Atheros AR71XX/AR724X/AR913X SoCs.
 124
 125config SPI_ARMADA_3700
 126	tristate "Marvell Armada 3700 SPI Controller"
 127	depends on (ARCH_MVEBU && OF) || COMPILE_TEST
 128	help
 129	  This enables support for the SPI controller present on the
 130	  Marvell Armada 3700 SoCs.
 131
 132config SPI_ASPEED_SMC
 133	tristate "Aspeed flash controllers in SPI mode"
 134	depends on ARCH_ASPEED || COMPILE_TEST
 135	depends on OF
 136	help
 137	  This enables support for the Firmware Memory controller (FMC)
 138	  in the Aspeed AST2600, AST2500 and AST2400 SoCs when attached
 139	  to SPI NOR chips, and support for the SPI flash memory
 140	  controller (SPI) for the host firmware. The implementation
 141	  only supports SPI NOR.
 142
 143config SPI_ATMEL
 144	tristate "Atmel SPI Controller"
 145	depends on ARCH_AT91 || COMPILE_TEST
 146	depends on OF
 147	help
 148	  This selects a driver for the Atmel SPI Controller, present on
 149	  many AT91 ARM chips.
 
 
 
 
 
 
 150
 151config SPI_AT91_USART
 152	tristate "Atmel USART Controller SPI driver"
 153	depends on (ARCH_AT91 || COMPILE_TEST)
 154	depends on MFD_AT91_USART
 155	help
 156	  This selects a driver for the AT91 USART Controller as SPI Master,
 157	  present on AT91 and SAMA5 SoC series.
 158
 159config SPI_ATMEL_QUADSPI
 160	tristate "Atmel Quad SPI Controller"
 161	depends on ARCH_AT91 || COMPILE_TEST
 162	depends on OF && HAS_IOMEM
 163	help
 164	  This enables support for the Quad SPI controller in master mode.
 165	  This driver does not support generic SPI. The implementation only
 166	  supports spi-mem interface.
 167
 168config SPI_AU1550
 169	tristate "Au1550/Au1200/Au1300 SPI Controller"
 170	depends on MIPS_ALCHEMY
 171	select SPI_BITBANG
 172	help
 173	  If you say yes to this option, support will be included for the
 174	  PSC SPI controller found on Au1550, Au1200 and Au1300 series.
 175
 176config SPI_AXI_SPI_ENGINE
 177	tristate "Analog Devices AXI SPI Engine controller"
 178	depends on HAS_IOMEM
 179	help
 180	  This enables support for the Analog Devices AXI SPI Engine SPI controller.
 181	  It is part of the SPI Engine framework that is used in some Analog Devices
 182	  reference designs for FPGAs.
 183
 184config SPI_BCM2835
 185	tristate "BCM2835 SPI controller"
 186	depends on GPIOLIB
 187	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
 188	help
 189	  This selects a driver for the Broadcom BCM2835 SPI master.
 190
 191	  The BCM2835 contains two types of SPI master controller; the
 192	  "universal SPI master", and the regular SPI controller. This driver
 193	  is for the regular SPI controller. Slave mode operation is not also
 194	  not supported.
 195
 196config SPI_BCM2835AUX
 197	tristate "BCM2835 SPI auxiliary controller"
 198	depends on ((ARCH_BCM2835 || ARCH_BRCMSTB) && GPIOLIB) || COMPILE_TEST
 199	help
 200	  This selects a driver for the Broadcom BCM2835 SPI aux master.
 201
 202	  The BCM2835 contains two types of SPI master controller; the
 203	  "universal SPI master", and the regular SPI controller.
 204	  This driver is for the universal/auxiliary SPI controller.
 205
 206config SPI_BCM63XX
 207	tristate "Broadcom BCM63xx SPI controller"
 208	depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST
 209	help
 210	  Enable support for the SPI controller on the Broadcom BCM63xx SoCs.
 211
 212config SPI_BCM63XX_HSSPI
 213	tristate "Broadcom BCM63XX HS SPI controller driver"
 214	depends on BCM63XX || BMIPS_GENERIC || ARCH_BCMBCA || COMPILE_TEST
 215	help
 216	  This enables support for the High Speed SPI controller present on
 217	  newer Broadcom BCM63XX SoCs.
 218
 219config SPI_BCM_QSPI
 220	tristate "Broadcom BSPI and MSPI controller support"
 221	depends on ARCH_BRCMSTB || ARCH_BCM || ARCH_BCM_IPROC || \
 222			BMIPS_GENERIC || COMPILE_TEST
 223	default ARCH_BCM_IPROC
 224	help
 225	  Enables support for the Broadcom SPI flash and MSPI controller.
 226	  Select this option for any one of BRCMSTB, iProc NSP and NS2 SoCs
 227	  based platforms. This driver works for both SPI master for SPI NOR
 228	  flash device as well as MSPI device.
 229
 230config SPI_BCMBCA_HSSPI
 231	tristate "Broadcom BCMBCA HS SPI controller driver"
 232	depends on ARCH_BCMBCA || COMPILE_TEST
 233	help
 234	  This enables support for the High Speed SPI controller present on
 235	  newer Broadcom BCMBCA SoCs. These SoCs include an updated SPI controller
 236	  that adds the capability to allow the driver to control chip select
 237	  explicitly.
 238
 239config SPI_BITBANG
 240	tristate "Utilities for Bitbanging SPI host controllers"
 241	help
 242	  With a few GPIO pins, your system can bitbang the SPI protocol.
 243	  Select this to get SPI support through I/O pins (GPIO, parallel
 244	  port, etc).  Or, some systems' SPI host controller drivers use
 245	  this code to manage the per-word or per-transfer accesses to the
 246	  hardware shift registers.
 247
 248	  This is library code, and is automatically selected by drivers that
 249	  need it.  You only need to select this explicitly to support driver
 250	  modules that aren't part of this kernel tree.
 251
 252config SPI_BUTTERFLY
 253	tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)"
 254	depends on PARPORT
 255	select SPI_BITBANG
 256	help
 257	  This uses a custom parallel port cable to connect to an AVR
 258	  Butterfly <http://www.atmel.com/products/avr/butterfly>, an
 259	  inexpensive battery powered microcontroller evaluation board.
 260	  This same cable can be used to flash new firmware.
 261
 262config SPI_CADENCE
 263	tristate "Cadence SPI controller"
 264	help
 265	  This selects the Cadence SPI controller master driver
 266	  used by Xilinx Zynq and ZynqMP.
 267
 268config SPI_CADENCE_QUADSPI
 269	tristate "Cadence Quad SPI controller"
 270	depends on OF && (ARM || ARM64 || X86 || RISCV || MIPS || COMPILE_TEST)
 271	help
 272	  Enable support for the Cadence Quad SPI Flash controller.
 273
 274	  Cadence QSPI is a specialized controller for connecting an SPI
 275	  Flash over 1/2/4-bit wide bus. Enable this option if you have a
 276	  device with a Cadence QSPI controller and want to access the
 277	  Flash as an MTD device.
 278
 279config SPI_CADENCE_XSPI
 280	tristate "Cadence XSPI controller"
 281	depends on OF && HAS_IOMEM && 64BIT
 282	depends on SPI_MEM
 283	help
 284	  Enable support for the Cadence XSPI Flash controller.
 285
 286	  Cadence XSPI is a specialized controller for connecting an SPI
 287	  Flash over up to 8-bit wide bus. Enable this option if you have a
 288	  device with a Cadence XSPI controller and want to access the
 289	  Flash as an MTD device.
 290
 291config SPI_CH341
 292	tristate "CH341 USB2SPI adapter"
 293	depends on SPI_MASTER && USB
 294	help
 295	  Enables the SPI controller on the CH341a USB to serial chip
 296
 297config SPI_CLPS711X
 298	tristate "CLPS711X host SPI controller"
 299	depends on ARCH_CLPS711X || COMPILE_TEST
 300	help
 301	  This enables dedicated general purpose SPI/Microwire1-compatible
 302	  master mode interface (SSI1) for CLPS711X-based CPUs.
 303
 304config SPI_COLDFIRE_QSPI
 305	tristate "Freescale Coldfire QSPI controller"
 306	depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x)
 307	help
 308	  This enables support for the Coldfire QSPI controller in master
 309	  mode.
 310
 311config SPI_CS42L43
 312	tristate "Cirrus Logic CS42L43 SPI controller"
 313	depends on MFD_CS42L43 && PINCTRL_CS42L43
 314	select GPIO_SWNODE_UNDEFINED
 315	help
 316	  This enables support for the SPI controller inside the Cirrus Logic
 317	  CS42L43 audio codec.
 318
 319config SPI_DAVINCI
 320	tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller"
 321	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
 322	select SPI_BITBANG
 323	help
 324	  SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules.
 325
 326config SPI_DESIGNWARE
 327	tristate "DesignWare SPI controller core support"
 328	imply SPI_MEM
 329	help
 330	  general driver for SPI controller core from DesignWare
 331
 332if SPI_DESIGNWARE
 333
 334config SPI_DW_DMA
 335	bool "DMA support for DW SPI controller"
 336
 337config SPI_DW_PCI
 338	tristate "PCI interface driver for DW SPI core"
 339	depends on PCI
 340
 341config SPI_DW_MMIO
 342	tristate "Memory-mapped io interface driver for DW SPI core"
 343	depends on HAS_IOMEM
 344
 345config SPI_DW_BT1
 346	tristate "Baikal-T1 SPI driver for DW SPI core"
 347	depends on MIPS_BAIKAL_T1 || COMPILE_TEST
 348	select MULTIPLEXER
 349	help
 350	  Baikal-T1 SoC is equipped with three DW APB SSI-based MMIO SPI
 351	  controllers. Two of them are pretty much normal: with IRQ, DMA,
 352	  FIFOs of 64 words depth, 4x CSs, but the third one as being a
 353	  part of the Baikal-T1 System Boot Controller has got a very
 354	  limited resources: no IRQ, no DMA, only a single native
 355	  chip-select and Tx/Rx FIFO with just 8 words depth available.
 356	  The later one is normally connected to an external SPI-nor flash
 357	  of 128Mb (in general can be of bigger size).
 358
 359config SPI_DW_BT1_DIRMAP
 360	bool "Directly mapped Baikal-T1 Boot SPI flash support"
 361	depends on SPI_DW_BT1
 362	help
 363	  Directly mapped SPI flash memory is an interface specific to the
 364	  Baikal-T1 System Boot Controller. It is a 16MB MMIO region, which
 365	  can be used to access a peripheral memory device just by
 366	  reading/writing data from/to it. Note that the system APB bus
 367	  will stall during each IO from/to the dirmap region until the
 368	  operation is finished. So try not to use it concurrently with
 369	  time-critical tasks (like the SPI memory operations implemented
 370	  in this driver).
 371
 372endif
 373
 374config SPI_DLN2
 375       tristate "Diolan DLN-2 USB SPI adapter"
 376       depends on MFD_DLN2
 377       help
 378	 If you say yes to this option, support will be included for Diolan
 379	 DLN2, a USB to SPI interface.
 380
 381	 This driver can also be built as a module.  If so, the module
 382	 will be called spi-dln2.
 383
 384config SPI_EP93XX
 385	tristate "Cirrus Logic EP93xx SPI controller"
 386	depends on ARCH_EP93XX || COMPILE_TEST
 387	help
 388	  This enables using the Cirrus EP93xx SPI controller in master
 389	  mode.
 390
 391config SPI_FALCON
 392	bool "Falcon SPI controller support"
 393	depends on SOC_FALCON
 394	help
 395	  The external bus unit (EBU) found on the FALC-ON SoC has SPI
 396	  emulation that is designed for serial flash access. This driver
 397	  has only been tested with m25p80 type chips. The hardware has no
 398	  support for other types of SPI peripherals.
 399
 400config SPI_FSI
 401	tristate "FSI SPI driver"
 402	depends on FSI
 403	help
 404	  This enables support for the driver for FSI bus attached SPI
 405	  controllers.
 406
 407config SPI_FSL_LPSPI
 408	tristate "Freescale i.MX LPSPI controller"
 409	depends on ARCH_MXC || COMPILE_TEST
 410	help
 411	  This enables Freescale i.MX LPSPI controllers in master mode.
 412
 413config SPI_FSL_QUADSPI
 414	tristate "Freescale QSPI controller"
 415	depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
 416	depends on HAS_IOMEM
 417	help
 418	  This enables support for the Quad SPI controller in master mode.
 419	  Up to four flash chips can be connected on two buses with two
 420	  chipselects each.
 421	  This controller does not support generic SPI messages. It only
 422	  supports the high-level SPI memory interface.
 423
 424config SPI_GXP
 425	tristate "GXP SPI driver"
 426	depends on ARCH_HPE || COMPILE_TEST
 427	help
 428	  This enables support for the driver for GXP bus attached SPI
 429	  controllers.
 430
 431config SPI_HISI_KUNPENG
 432	tristate "HiSilicon SPI Controller for Kunpeng SoCs"
 433	depends on (ARM64 && ACPI) || COMPILE_TEST
 434	help
 435	  This enables support for HiSilicon SPI controller found on
 436	  Kunpeng SoCs.
 437
 438	  This driver can also be built as a module. If so, the module
 439	  will be called hisi-kunpeng-spi.
 440
 441config SPI_HISI_SFC_V3XX
 442	tristate "HiSilicon SPI NOR Flash Controller for Hi16XX chipsets"
 443	depends on (ARM64 && ACPI) || COMPILE_TEST
 444	depends on HAS_IOMEM
 445	help
 446	  This enables support for HiSilicon v3xx SPI NOR flash controller
 447	  found in hi16xx chipsets.
 448
 449config SPI_NXP_FLEXSPI
 450	tristate "NXP Flex SPI controller"
 451	depends on ARCH_LAYERSCAPE || ARCH_MXC || COMPILE_TEST
 452	depends on HAS_IOMEM
 453	help
 454	  This enables support for the Flex SPI controller in master mode.
 455	  Up to four slave devices can be connected on two buses with two
 456	  chipselects each.
 457	  This controller does not support generic SPI messages and only
 458	  supports the high-level SPI memory interface.
 459
 460config SPI_GPIO
 461	tristate "GPIO-based bitbanging SPI Master"
 462	depends on GPIOLIB || COMPILE_TEST
 463	select SPI_BITBANG
 464	help
 465	  This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
 466	  interface to manage MOSI, MISO, SCK, and chipselect signals.  SPI
 467	  slaves connected to a bus using this driver are configured as usual,
 468	  except that the spi_board_info.controller_data holds the GPIO number
 469	  for the chipselect used by this controller driver.
 470
 471	  Note that this driver often won't achieve even 1 Mbit/sec speeds,
 472	  making it unusually slow for SPI.  If your platform can inline
 473	  GPIO operations, you should be able to leverage that for better
 474	  speed with a custom version of this driver; see the source code.
 475
 476config SPI_IMG_SPFI
 477	tristate "IMG SPFI controller"
 478	depends on MIPS || COMPILE_TEST
 479	help
 480	  This enables support for the SPFI master controller found on
 481	  IMG SoCs.
 482
 483config SPI_IMX
 484	tristate "Freescale i.MX SPI controllers"
 485	depends on ARCH_MXC || COMPILE_TEST
 486	help
 487	  This enables support for the Freescale i.MX SPI controllers.
 488
 489config SPI_INGENIC
 490	tristate "Ingenic SoCs SPI controller"
 491	depends on MACH_INGENIC || COMPILE_TEST
 492	help
 493	  This enables support for the Ingenic SoCs SPI controller.
 494
 495	  To compile this driver as a module, choose M here: the module
 496	  will be called spi-ingenic.
 497
 498config SPI_INTEL
 499	tristate
 500
 501config SPI_INTEL_PCI
 502	tristate "Intel PCH/PCU SPI flash PCI driver"
 503	depends on PCI
 504	depends on X86 || COMPILE_TEST
 505	depends on SPI_MEM
 506	select SPI_INTEL
 507	help
 508	  This enables PCI support for the Intel PCH/PCU SPI controller in
 509	  master mode. This controller is used to hold BIOS and other
 510	  persistent settings. Controllers present in modern Intel hardware
 511	  only work in hardware sequencing mode, this means that the
 512	  controller exposes a subset of operations that makes it safer to
 513	  use. Using this driver it is possible to upgrade BIOS directly
 514	  from Linux.
 515
 516	  To compile this driver as a module, choose M here: the module
 517	  will be called spi-intel-pci.
 518
 519config SPI_INTEL_PLATFORM
 520	tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)"
 521	depends on X86 || COMPILE_TEST
 522	depends on SPI_MEM
 523	select SPI_INTEL
 524	help
 525	  This enables platform support for the Intel PCH/PCU SPI
 526	  controller in master mode that is used to hold BIOS and other
 527	  persistent settings. Most of these controllers work in
 528	  software sequencing mode, which means that the controller
 529	  exposes the low level SPI-NOR opcodes to the software. Using
 530	  this driver it is possible to upgrade BIOS directly from Linux.
 531
 532	  Say N here unless you know what you are doing. Overwriting the
 533	  SPI flash may render the system unbootable.
 534
 535	  To compile this driver as a module, choose M here: the module
 536	  will be called spi-intel-platform.
 537
 538config SPI_JCORE
 539	tristate "J-Core SPI Master"
 540	depends on OF && (SUPERH || COMPILE_TEST)
 541	help
 542	  This enables support for the SPI master controller in the J-Core
 543	  synthesizable, open source SoC.
 544
 545config SPI_LM70_LLP
 546	tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
 547	depends on PARPORT
 548	select SPI_BITBANG
 549	help
 550	  This driver supports the NS LM70 LLP Evaluation Board,
 551	  which interfaces to an LM70 temperature sensor using
 552	  a parallel port.
 553
 554config SPI_LOONGSON_CORE
 555	tristate
 556	depends on LOONGARCH || COMPILE_TEST
 557
 558config SPI_LOONGSON_PCI
 559	tristate "Loongson SPI Controller PCI Driver Support"
 560	select SPI_LOONGSON_CORE
 561	depends on PCI && (LOONGARCH || COMPILE_TEST)
 562	help
 563	  This bus driver supports the Loongson SPI hardware controller in
 564	  the Loongson platforms and supports to use PCI framework to
 565	  register SPI device resources.
 566	  Say Y or M here if you want to use the SPI controller on
 567	  Loongson platform.
 568
 569config SPI_LOONGSON_PLATFORM
 570	tristate "Loongson SPI Controller Platform Driver Support"
 571	select SPI_LOONGSON_CORE
 572	depends on OF && (LOONGARCH || COMPILE_TEST)
 573	help
 574	  This bus driver supports the Loongson SPI hardware controller in
 575	  the Loongson platforms and supports to use DTS framework to
 576	  register SPI device resources.
 577	  Say Y or M here if you want to use the SPI controller on
 578	  Loongson platform.
 579
 580config SPI_LP8841_RTC
 581	tristate "ICP DAS LP-8841 SPI Controller for RTC"
 582	depends on MACH_PXA27X_DT || COMPILE_TEST
 583	help
 584	  This driver provides an SPI master device to drive Maxim
 585	  DS-1302 real time clock.
 586
 587	  Say N here unless you plan to run the kernel on an ICP DAS
 588	  LP-8x4x industrial computer.
 589
 590config SPI_MPC52xx
 591	tristate "Freescale MPC52xx SPI (non-PSC) controller support"
 592	depends on PPC_MPC52xx
 
 593	help
 594	  This drivers supports the MPC52xx SPI controller in master SPI
 595	  mode.
 596
 597config SPI_MPC52xx_PSC
 598	tristate "Freescale MPC52xx PSC SPI controller"
 599	depends on PPC_MPC52xx
 600	help
 601	  This enables using the Freescale MPC52xx Programmable Serial
 602	  Controller in master SPI mode.
 603
 604config SPI_MPC512x_PSC
 605	tristate "Freescale MPC512x PSC SPI controller"
 606	depends on PPC_MPC512x
 607	help
 608	  This enables using the Freescale MPC5121 Programmable Serial
 609	  Controller in SPI master mode.
 610
 611config SPI_FSL_LIB
 612	tristate
 613	depends on OF
 614
 615config SPI_FSL_CPM
 616	tristate
 617	depends on FSL_SOC
 618
 619config SPI_FSL_SPI
 620	tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller"
 621	depends on OF
 622	select SPI_FSL_LIB
 623	select SPI_FSL_CPM if FSL_SOC
 624	help
 625	  This enables using the Freescale SPI controllers in master mode.
 626	  MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
 627	  MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
 628	  This also enables using the Aeroflex Gaisler GRLIB SPI controller in
 629	  master mode.
 630
 631config SPI_FSL_DSPI
 632	tristate "Freescale DSPI controller"
 633	select REGMAP_MMIO
 634	depends on SOC_VF610 || SOC_LS1021A || ARCH_LAYERSCAPE || M5441x || COMPILE_TEST
 635	help
 636	  This enables support for the Freescale DSPI controller in master
 637	  mode. VF610, LS1021A and ColdFire platforms uses the controller.
 638
 639config SPI_FSL_ESPI
 640	tristate "Freescale eSPI controller"
 641	depends on FSL_SOC
 
 642	help
 643	  This enables using the Freescale eSPI controllers in master mode.
 644	  From MPC8536, 85xx platform uses the controller, and all P10xx,
 645	  P20xx, P30xx,P40xx, P50xx uses this controller.
 646
 647config SPI_LJCA
 648	tristate "Intel La Jolla Cove Adapter SPI support"
 649	depends on USB_LJCA
 650	default USB_LJCA
 651	help
 652	  Select this option to enable SPI driver for the Intel
 653	  La Jolla Cove Adapter (LJCA) board.
 654
 655	  This driver can also be built as a module. If so, the module
 656	  will be called spi-ljca.
 657
 658config SPI_MESON_SPICC
 659	tristate "Amlogic Meson SPICC controller"
 660	depends on COMMON_CLK
 661	depends on ARCH_MESON || COMPILE_TEST
 662	help
 663	  This enables master mode support for the SPICC (SPI communication
 664	  controller) available in Amlogic Meson SoCs.
 665
 666config SPI_MESON_SPIFC
 667	tristate "Amlogic Meson SPIFC controller"
 668	depends on ARCH_MESON || COMPILE_TEST
 669	select REGMAP_MMIO
 670	help
 671	  This enables master mode support for the SPIFC (SPI flash
 672	  controller) available in Amlogic Meson SoCs.
 673
 674config SPI_MICROCHIP_CORE
 675	tristate "Microchip FPGA SPI controllers"
 676	depends on SPI_MASTER
 677	help
 678	  This enables the SPI driver for Microchip FPGA SPI controllers.
 679	  Say Y or M here if you want to use the "hard" controllers on
 680	  PolarFire SoC.
 681	  If built as a module, it will be called spi-microchip-core.
 682
 683config SPI_MICROCHIP_CORE_QSPI
 684	tristate "Microchip FPGA QSPI controllers"
 685	depends on SPI_MASTER
 686	help
 687	  This enables the QSPI driver for Microchip FPGA QSPI controllers.
 688	  Say Y or M here if you want to use the QSPI controllers on
 689	  PolarFire SoC.
 690	  If built as a module, it will be called spi-microchip-core-qspi.
 691
 692config SPI_MT65XX
 693	tristate "MediaTek SPI controller"
 694	depends on ARCH_MEDIATEK || COMPILE_TEST
 695	help
 696	  This selects the MediaTek(R) SPI bus driver.
 697	  If you want to use MediaTek(R) SPI interface,
 698	  say Y or M here.If you are not sure, say N.
 699	  SPI drivers for Mediatek MT65XX and MT81XX series ARM SoCs.
 700
 701config SPI_MT7621
 702	tristate "MediaTek MT7621 SPI Controller"
 703	depends on RALINK || COMPILE_TEST
 704	help
 705	  This selects a driver for the MediaTek MT7621 SPI Controller.
 706
 707config SPI_MTK_NOR
 708	tristate "MediaTek SPI NOR controller"
 709	depends on ARCH_MEDIATEK || COMPILE_TEST
 710	help
 711	  This enables support for SPI NOR controller found on MediaTek
 712	  ARM SoCs. This is a controller specifically for SPI NOR flash.
 713	  It can perform generic SPI transfers up to 6 bytes via generic
 714	  SPI interface as well as several SPI NOR specific instructions
 715	  via SPI MEM interface.
 716
 717config SPI_MTK_SNFI
 718	tristate "MediaTek SPI NAND Flash Interface"
 719	depends on ARCH_MEDIATEK || COMPILE_TEST
 720	depends on MTD_NAND_ECC_MEDIATEK
 721	help
 722	  This enables support for SPI-NAND mode on the MediaTek NAND
 723	  Flash Interface found on MediaTek ARM SoCs. This controller
 724	  is implemented as a SPI-MEM controller with pipelined ECC
 725	  capability.
 726
 727config SPI_WPCM_FIU
 728	tristate "Nuvoton WPCM450 Flash Interface Unit"
 729	depends on ARCH_NPCM || COMPILE_TEST
 730	select REGMAP
 731	help
 732	  This enables support got the Flash Interface Unit SPI controller
 733	  present in the Nuvoton WPCM450 SoC.
 734
 735	  This driver does not support generic SPI. The implementation only
 736	  supports the spi-mem interface.
 737
 738config SPI_NPCM_FIU
 739	tristate "Nuvoton NPCM FLASH Interface Unit"
 740	depends on ARCH_NPCM || COMPILE_TEST
 741	depends on OF && HAS_IOMEM
 742	help
 743	  This enables support for the Flash Interface Unit SPI controller
 744	  in master mode.
 745	  This driver does not support generic SPI. The implementation only
 746	  supports spi-mem interface.
 747
 748config SPI_NPCM_PSPI
 749	tristate "Nuvoton NPCM PSPI Controller"
 750	depends on ARCH_NPCM || COMPILE_TEST
 751	help
 752	  This driver provides support for Nuvoton NPCM BMC
 753	  Peripheral SPI controller in master mode.
 754
 755config SPI_LANTIQ_SSC
 756	tristate "Lantiq SSC SPI controller"
 757	depends on LANTIQ || X86 || COMPILE_TEST
 758	help
 759	  This driver supports the Lantiq SSC SPI controller in master
 760	  mode. This controller is found on Intel (former Lantiq) SoCs like
 761	  the Danube, Falcon, xRX200, xRX300, Lightning Mountain.
 762
 763config SPI_OC_TINY
 764	tristate "OpenCores tiny SPI"
 765	depends on GPIOLIB || COMPILE_TEST
 766	select SPI_BITBANG
 767	help
 768	  This is the driver for OpenCores tiny SPI master controller.
 769
 770config SPI_OCTEON
 771	tristate "Cavium OCTEON SPI controller"
 772	depends on CAVIUM_OCTEON_SOC
 773	help
 774	  SPI host driver for the hardware found on some Cavium OCTEON
 775	  SOCs.
 776
 777config SPI_OMAP_UWIRE
 778	tristate "OMAP1 MicroWire"
 779	depends on ARCH_OMAP1 || (ARM && COMPILE_TEST)
 780	select SPI_BITBANG
 781	help
 782	  This hooks up to the MicroWire controller on OMAP1 chips.
 783
 784config SPI_OMAP24XX
 785	tristate "McSPI driver for OMAP"
 786	depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
 787	select SG_SPLIT
 788	help
 789	  SPI master controller for OMAP24XX and later Multichannel SPI
 790	  (McSPI) modules.
 791
 792config SPI_TI_QSPI
 793	tristate "DRA7xxx QSPI controller support"
 794	depends on ARCH_OMAP2PLUS || COMPILE_TEST
 795	help
 796	  QSPI master controller for DRA7xxx used for flash devices.
 797	  This device supports single, dual and quad read support, while
 798	  it only supports single write mode.
 799
 800config SPI_ORION
 801	tristate "Orion SPI master"
 802	depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST
 803	help
 804	  This enables using the SPI master controller on the Orion
 805	  and MVEBU chips.
 806
 807config SPI_PCI1XXXX
 808	tristate "PCI1XXXX SPI Bus support"
 809	depends on PCI
 810	help
 811	  Say "yes" to Enable the SPI Bus support for the PCI1xxxx card
 812	  This is a PCI to SPI Bus driver
 813	  This driver can be built as module. If so, the module will be
 814	  called as spi-pci1xxxx.
 815
 816config SPI_PIC32
 817	tristate "Microchip PIC32 series SPI"
 818	depends on MACH_PIC32 || COMPILE_TEST
 819	help
 820	  SPI driver for Microchip PIC32 SPI master controller.
 821
 822config SPI_PIC32_SQI
 823	tristate "Microchip PIC32 Quad SPI driver"
 824	depends on MACH_PIC32 || COMPILE_TEST
 825	help
 826	  SPI driver for PIC32 Quad SPI controller.
 827
 828config SPI_PL022
 829	tristate "ARM AMBA PL022 SSP controller"
 830	depends on ARM_AMBA
 
 831	default y if ARCH_REALVIEW
 832	default y if INTEGRATOR_IMPD1
 833	default y if ARCH_VERSATILE
 834	help
 835	  This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP
 836	  controller. If you have an embedded system with an AMBA(R)
 837	  bus and a PL022 controller, say Y or M here.
 838
 839config SPI_PPC4xx
 840	tristate "PPC4xx SPI Controller"
 841	depends on PPC32 && 4xx
 842	select SPI_BITBANG
 843	help
 844	  This selects a driver for the PPC4xx SPI Controller.
 845
 846config SPI_PXA2XX
 847	tristate "PXA2xx SSP SPI master"
 848	depends on ARCH_PXA || ARCH_MMP || (X86 && (PCI || ACPI)) || COMPILE_TEST
 849	select PXA_SSP if ARCH_PXA || ARCH_MMP
 850	help
 851	  This enables using a PXA2xx or Sodaville SSP port as a SPI master
 852	  controller. The driver can be configured to use any SSP port.
 
 853
 854config SPI_PXA2XX_PCI
 855	def_tristate SPI_PXA2XX && PCI && COMMON_CLK
 856
 857config SPI_REALTEK_SNAND
 858	tristate "Realtek SPI-NAND Flash Controller"
 859	depends on MACH_REALTEK_RTL || COMPILE_TEST
 860	select REGMAP
 861	help
 862	  This enables support for the SPI-NAND Flash controller on
 863	  Realtek SoCs.
 864
 865	  This driver does not support generic SPI. The implementation
 866	  only supports the spi-mem interface.
 867
 868config SPI_ROCKCHIP
 869	tristate "Rockchip SPI controller driver"
 870	depends on ARCH_ROCKCHIP || COMPILE_TEST
 871	help
 872	  This selects a driver for Rockchip SPI controller.
 873
 874	  If you say yes to this option, support will be included for
 875	  RK3066, RK3188 and RK3288 families of SPI controller.
 876	  Rockchip SPI controller support DMA transport and PIO mode.
 877	  The main usecase of this controller is to use spi flash as boot
 878	  device.
 879
 880config SPI_ROCKCHIP_SFC
 881	tristate "Rockchip Serial Flash Controller (SFC)"
 882	depends on ARCH_ROCKCHIP || COMPILE_TEST
 883	depends on HAS_IOMEM && HAS_DMA
 884	help
 885	  This enables support for Rockchip serial flash controller. This
 886	  is a specialized controller used to access SPI flash on some
 887	  Rockchip SOCs.
 888
 889	  ROCKCHIP SFC supports DMA and PIO modes. When DMA is not available,
 890	  the driver automatically falls back to PIO mode.
 891
 892config SPI_RB4XX
 893	tristate "Mikrotik RB4XX SPI master"
 894	depends on SPI_MASTER && ATH79
 895	help
 896	  SPI controller driver for the Mikrotik RB4xx series boards.
 897
 898config SPI_RPCIF
 899	tristate "Renesas RPC-IF SPI driver"
 900	depends on RENESAS_RPCIF
 901	help
 902	  SPI driver for Renesas R-Car Gen3 or RZ/G2 RPC-IF.
 903
 904config SPI_RSPI
 905	tristate "Renesas RSPI/QSPI controller"
 906	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 907	help
 908	  SPI driver for Renesas RSPI and QSPI blocks.
 909
 910config SPI_RZV2M_CSI
 911	tristate "Renesas RZ/V2M CSI controller"
 912	depends on ARCH_RENESAS || COMPILE_TEST
 913	help
 914	  SPI driver for Renesas RZ/V2M Clocked Serial Interface (CSI).
 915	  CSI supports both SPI host and SPI target roles.
 916
 917config SPI_QCOM_QSPI
 918	tristate "QTI QSPI controller"
 919	depends on ARCH_QCOM || COMPILE_TEST
 920	help
 921	  QSPI(Quad SPI) driver for Qualcomm QSPI controller.
 922
 923config SPI_QUP
 924	tristate "Qualcomm SPI controller with QUP interface"
 925	depends on ARCH_QCOM || COMPILE_TEST
 926	help
 927	  Qualcomm Universal Peripheral (QUP) core is an AHB slave that
 928	  provides a common data path (an output FIFO and an input FIFO)
 929	  for serial peripheral interface (SPI) mini-core. SPI in master
 930	  mode supports up to 50MHz, up to four chip selects, programmable
 931	  data path from 4 bits to 32 bits and numerous protocol variants.
 932
 933	  This driver can also be built as a module.  If so, the module
 934	  will be called spi_qup.
 935
 936config SPI_QCOM_GENI
 937	tristate "Qualcomm GENI based SPI controller"
 938	depends on QCOM_GENI_SE
 
 939	help
 940	  This driver supports GENI serial engine based SPI controller in
 941	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
 942	  yes to this option, support will be included for the built-in SPI
 943	  interface on the Qualcomm Technologies Inc.'s SoCs.
 944
 945	  This driver can also be built as a module.  If so, the module
 946	  will be called spi-geni-qcom.
 947
 948config SPI_S3C64XX
 949	tristate "Samsung S3C64XX/Exynos SoC series type SPI"
 950	depends on (PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST)
 
 951	help
 952	  SPI driver for Samsung S3C64XX, S5Pv210 and Exynos SoCs.
 953	  Choose Y/M here only if you build for such Samsung SoC.
 954
 955config SPI_SC18IS602
 956	tristate "NXP SC18IS602/602B/603 I2C to SPI bridge"
 957	depends on I2C
 958	help
 959	  SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge.
 960
 961config SPI_SH_MSIOF
 962	tristate "SuperH MSIOF SPI controller"
 963	depends on HAVE_CLK
 964	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
 965	help
 966	  SPI driver for SuperH and SH Mobile MSIOF blocks.
 967
 968config SPI_SH
 969	tristate "SuperH SPI controller"
 970	depends on SUPERH || COMPILE_TEST
 971	help
 972	  SPI driver for SuperH SPI blocks.
 973
 974config SPI_SH_SCI
 975	tristate "SuperH SCI SPI controller"
 976	depends on SUPERH
 977	select SPI_BITBANG
 978	help
 979	  SPI driver for SuperH SCI blocks.
 980
 981config SPI_SH_HSPI
 982	tristate "SuperH HSPI controller"
 983	depends on ARCH_RENESAS || COMPILE_TEST
 984	help
 985	  SPI driver for SuperH HSPI blocks.
 986
 987config SPI_SIFIVE
 988	tristate "SiFive SPI controller"
 989	depends on HAS_IOMEM
 990	help
 991	  This exposes the SPI controller IP from SiFive.
 992
 993config SPI_SLAVE_MT27XX
 994	tristate "MediaTek SPI slave device"
 995	depends on ARCH_MEDIATEK || COMPILE_TEST
 996	depends on SPI_SLAVE
 997	help
 998	  This selects the MediaTek(R) SPI slave device driver.
 999	  If you want to use MediaTek(R) SPI slave interface,
1000	  say Y or M here.If you are not sure, say N.
1001	  SPI slave drivers for Mediatek MT27XX series ARM SoCs.
1002
1003config SPI_SN_F_OSPI
1004	tristate "Socionext F_OSPI SPI flash controller"
1005	depends on OF && HAS_IOMEM
1006	depends on SPI_MEM
1007	help
1008	  This enables support for the Socionext F_OSPI controller
1009	  for connecting an SPI Flash memory over up to 8-bit wide bus.
1010	  It supports indirect access mode only.
1011
1012config SPI_SPRD
1013	tristate "Spreadtrum SPI controller"
1014	depends on ARCH_SPRD || COMPILE_TEST
1015	help
1016	  SPI driver for Spreadtrum SoCs.
1017
1018config SPI_SPRD_ADI
1019	tristate "Spreadtrum ADI controller"
1020	depends on ARCH_SPRD || COMPILE_TEST
1021	depends on HWSPINLOCK || (COMPILE_TEST && !HWSPINLOCK)
1022	help
1023	  ADI driver based on SPI for Spreadtrum SoCs.
1024
1025config SPI_STM32
1026	tristate "STMicroelectronics STM32 SPI controller"
1027	depends on ARCH_STM32 || COMPILE_TEST
1028	select SPI_SLAVE
1029	help
1030	  SPI driver for STMicroelectronics STM32 SoCs.
1031
1032	  STM32 SPI controller supports DMA and PIO modes. When DMA
1033	  is not available, the driver automatically falls back to
1034	  PIO mode.
1035
1036config SPI_STM32_QSPI
1037	tristate "STMicroelectronics STM32 QUAD SPI controller"
1038	depends on ARCH_STM32 || COMPILE_TEST
1039	depends on OF
1040	depends on SPI_MEM
1041	help
1042	  This enables support for the Quad SPI controller in master mode.
1043	  This driver does not support generic SPI. The implementation only
1044	  supports spi-mem interface.
1045
1046config SPI_ST_SSC4
1047	tristate "STMicroelectronics SPI SSC-based driver"
1048	depends on ARCH_STI || COMPILE_TEST
1049	help
1050	  STMicroelectronics SoCs support for SPI. If you say yes to
1051	  this option, support will be included for the SSC driven SPI.
1052
1053config SPI_SUN4I
1054	tristate "Allwinner A10 SoCs SPI controller"
1055	depends on ARCH_SUNXI || COMPILE_TEST
1056	help
1057	  SPI driver for Allwinner sun4i, sun5i and sun7i SoCs
1058
1059config SPI_SUN6I
1060	tristate "Allwinner A31 SPI controller"
1061	depends on ARCH_SUNXI || COMPILE_TEST
1062	depends on RESET_CONTROLLER
1063	help
1064	  This enables using the SPI controller on the Allwinner A31 SoCs.
1065
1066config SPI_SUNPLUS_SP7021
1067	tristate "Sunplus SP7021 SPI controller"
1068	depends on SOC_SP7021 || COMPILE_TEST
1069	help
1070	  This enables Sunplus SP7021 SPI controller driver on the SP7021 SoCs.
1071	  This driver can also be built as a module. If so, the module will be
1072	  called as spi-sunplus-sp7021.
1073
1074	  If you have a  Sunplus SP7021 platform say Y here.
1075	  If unsure, say N.
1076
1077config SPI_SYNQUACER
1078	tristate "Socionext's SynQuacer HighSpeed SPI controller"
1079	depends on ARCH_SYNQUACER || COMPILE_TEST
 
1080	help
1081	  SPI driver for Socionext's High speed SPI controller which provides
1082	  various operating modes for interfacing to serial peripheral devices
1083	  that use the de-facto standard SPI protocol.
1084
1085	  It also supports the new dual-bit and quad-bit SPI protocol.
1086
1087config SPI_MXIC
1088	tristate "Macronix MX25F0A SPI controller"
1089	depends on SPI_MASTER
1090	imply MTD_NAND_ECC_MXIC
1091	help
1092	  This selects the Macronix MX25F0A SPI controller driver.
1093
1094config SPI_MXS
1095	tristate "Freescale MXS SPI controller"
1096	depends on ARCH_MXS
1097	select STMP_DEVICE
1098	help
1099	  SPI driver for Freescale MXS devices.
1100
1101config SPI_TEGRA210_QUAD
1102	tristate "NVIDIA Tegra QSPI Controller"
1103	depends on ARCH_TEGRA || COMPILE_TEST
1104	depends on RESET_CONTROLLER
1105	help
1106	  QSPI driver for NVIDIA Tegra QSPI Controller interface. This
1107	  controller is different from the SPI controller and is available
1108	  on Tegra SoCs starting from Tegra210.
1109
1110config SPI_TEGRA114
1111	tristate "NVIDIA Tegra114 SPI Controller"
1112	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
1113	depends on RESET_CONTROLLER
1114	help
1115	  SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller
1116	  is different than the older SoCs SPI controller and also register interface
1117	  get changed with this controller.
1118
1119config SPI_TEGRA20_SFLASH
1120	tristate "Nvidia Tegra20 Serial flash Controller"
1121	depends on ARCH_TEGRA || COMPILE_TEST
1122	depends on RESET_CONTROLLER
1123	help
1124	  SPI driver for Nvidia Tegra20 Serial flash Controller interface.
1125	  The main usecase of this controller is to use spi flash as boot
1126	  device.
1127
1128config SPI_TEGRA20_SLINK
1129	tristate "Nvidia Tegra20/Tegra30 SLINK Controller"
1130	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
1131	depends on RESET_CONTROLLER
1132	help
1133	  SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface.
1134
1135config SPI_THUNDERX
1136	tristate "Cavium ThunderX SPI controller"
1137	depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
1138	help
1139	  SPI host driver for the hardware found on Cavium ThunderX
1140	  SOCs.
1141
1142config SPI_TOPCLIFF_PCH
1143	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI"
1144	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
1145	help
1146	  SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
1147	  used in some x86 embedded processors.
1148
1149	  This driver also supports the ML7213/ML7223/ML7831, a companion chip
1150	  for the Atom E6xx series and compatible with the Intel EG20T PCH.
1151
1152config SPI_UNIPHIER
1153	tristate "Socionext UniPhier SPI Controller"
1154	depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
1155	depends on HAS_IOMEM
1156	help
1157	  This enables a driver for the Socionext UniPhier SoC SCSSI SPI controller.
1158
1159	  UniPhier SoCs have SCSSI and MCSSI SPI controllers.
1160	  Every UniPhier SoC has SCSSI which supports single channel.
1161	  Older UniPhier Pro4/Pro5 also has MCSSI which support multiple channels.
1162	  This driver supports SCSSI only.
1163
1164	  If your SoC supports SCSSI, say Y here.
1165
1166config SPI_XCOMM
1167	tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver"
1168	depends on I2C
1169	help
1170	  Support for the SPI-I2C bridge found on the Analog Devices
1171	  AD-FMCOMMS1-EBZ board.
1172
1173config SPI_XILINX
1174	tristate "Xilinx SPI controller common module"
1175	depends on HAS_IOMEM
1176	select SPI_BITBANG
1177	help
1178	  This exposes the SPI controller IP from the Xilinx EDK.
1179
1180	  See the "OPB Serial Peripheral Interface (SPI) (v1.00e)"
1181	  Product Specification document (DS464) for hardware details.
1182
1183	  Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)"
1184
1185config SPI_XLP
1186	tristate "Cavium ThunderX2 SPI controller driver"
1187	depends on ARCH_THUNDER2 || COMPILE_TEST
1188	help
1189	  Enable support for the SPI controller on the Cavium ThunderX2.
1190	  (Originally on Netlogic XLP SoCs.)
1191
1192	  If you have a Cavium ThunderX2 platform say Y here.
1193	  If unsure, say N.
1194
1195config SPI_XTENSA_XTFPGA
1196	tristate "Xtensa SPI controller for xtfpga"
1197	depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST
1198	select SPI_BITBANG
1199	help
1200	  SPI driver for xtfpga SPI master controller.
1201
1202	  This simple SPI master controller is built into xtfpga bitstreams
1203	  and is used to control daughterboard audio codec. It always transfers
1204	  16 bit words in SPI mode 0, automatically asserting CS on transfer
1205	  start and deasserting on end.
1206
1207config SPI_ZYNQ_QSPI
1208	tristate "Xilinx Zynq QSPI controller"
1209	depends on ARCH_ZYNQ || COMPILE_TEST
1210	depends on SPI_MEM
1211	help
1212	  This enables support for the Zynq Quad SPI controller
1213	  in master mode.
1214	  This controller only supports SPI memory interface.
1215
1216config SPI_ZYNQMP_GQSPI
1217	tristate "Xilinx ZynqMP GQSPI controller"
1218	depends on (SPI_MEM && HAS_DMA) || COMPILE_TEST
1219	help
1220	  Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC.
1221	  This controller only supports SPI memory interface.
1222
1223config SPI_AMD
1224	tristate "AMD SPI controller"
1225	depends on SPI_MASTER || COMPILE_TEST
1226	help
1227	  Enables SPI controller driver for AMD SoC.
1228
1229#
1230# Add new SPI master controllers in alphabetical order above this line
1231#
1232
1233comment "SPI Multiplexer support"
 
 
 
 
 
 
 
 
 
 
 
 
1234
1235config SPI_MUX
1236	tristate "SPI multiplexer support"
1237	select MULTIPLEXER
1238	help
1239	  This adds support for SPI multiplexers. Each SPI mux will be
1240	  accessible as a SPI controller, the devices behind the mux will appear
1241	  to be chip selects on this controller. It is still necessary to
1242	  select one or more specific mux-controller drivers.
1243
1244#
1245# There are lots of SPI device types, with sensors and memory
1246# being probably the most widely used ones.
1247#
1248comment "SPI Protocol Masters"
1249
1250config SPI_SPIDEV
1251	tristate "User mode SPI device driver support"
 
1252	help
1253	  This supports user mode SPI protocol drivers.
1254
1255config SPI_LOOPBACK_TEST
1256	tristate "spi loopback test framework support"
1257	depends on m
1258	help
1259	  This enables the SPI loopback testing framework driver
1260
1261	  primarily used for development of spi_master drivers
1262	  and to detect regressions
1263
1264config SPI_TLE62X0
1265	tristate "Infineon TLE62X0 (for power switching)"
1266	depends on SYSFS
1267	help
1268	  SPI driver for Infineon TLE62X0 series line driver chips,
1269	  such as the TLE6220, TLE6230 and TLE6240.  This provides a
1270	  sysfs interface, with each line presented as a kind of GPIO
1271	  exposing both switch control and diagnostic feedback.
1272
1273#
1274# Add new SPI protocol masters in alphabetical order above this line
1275#
1276
1277endif # SPI_MASTER
1278
1279#
1280# SLAVE side ... listening to other SPI masters
1281#
1282
1283config SPI_SLAVE
1284	bool "SPI slave protocol handlers"
1285	help
1286	  If your system has a slave-capable SPI controller, you can enable
1287	  slave protocol handlers.
1288
1289if SPI_SLAVE
1290
1291config SPI_SLAVE_TIME
1292	tristate "SPI slave handler reporting boot up time"
1293	help
1294	  SPI slave handler responding with the time of reception of the last
1295	  SPI message.
1296
1297config SPI_SLAVE_SYSTEM_CONTROL
1298	tristate "SPI slave handler controlling system state"
1299	help
1300	  SPI slave handler to allow remote control of system reboot, power
1301	  off, halt, and suspend.
1302
1303endif # SPI_SLAVE
1304
1305config SPI_DYNAMIC
1306	def_bool ACPI || OF_DYNAMIC || SPI_SLAVE
1307
1308endif # SPI
v3.1
 
  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	boolean "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#	boolean "SPI Master Support"
 44	boolean
 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 && GENERIC_GPIO
 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 (ARCH_AT91 || AVR32)
 
 73	help
 74	  This selects a driver for the Atmel SPI Controller, present on
 75	  many AT32 (AVR32) and AT91 (ARM) chips.
 76
 77config SPI_BFIN
 78	tristate "SPI controller driver for ADI Blackfin5xx"
 79	depends on BLACKFIN
 80	help
 81	  This is the SPI controller master driver for Blackfin 5xx processor.
 82
 83config SPI_BFIN_SPORT
 84	tristate "SPI bus via Blackfin SPORT"
 85	depends on BLACKFIN
 86	help
 87	  Enable support for a SPI bus via the Blackfin SPORT peripheral.
 
 
 
 
 
 
 
 
 
 
 
 88
 89config SPI_AU1550
 90	tristate "Au1550/Au12x0 SPI Controller"
 91	depends on (SOC_AU1550 || SOC_AU1200) && EXPERIMENTAL
 92	select SPI_BITBANG
 93	help
 94	  If you say yes to this option, support will be included for the
 95	  Au1550 SPI controller (may also work with Au1200,Au1210,Au1250).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 96
 97config SPI_BITBANG
 98	tristate "Utilities for Bitbanging SPI masters"
 99	help
100	  With a few GPIO pins, your system can bitbang the SPI protocol.
101	  Select this to get SPI support through I/O pins (GPIO, parallel
102	  port, etc).  Or, some systems' SPI master controller drivers use
103	  this code to manage the per-word or per-transfer accesses to the
104	  hardware shift registers.
105
106	  This is library code, and is automatically selected by drivers that
107	  need it.  You only need to select this explicitly to support driver
108	  modules that aren't part of this kernel tree.
109
110config SPI_BUTTERFLY
111	tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)"
112	depends on PARPORT
113	select SPI_BITBANG
114	help
115	  This uses a custom parallel port cable to connect to an AVR
116	  Butterfly <http://www.atmel.com/products/avr/butterfly>, an
117	  inexpensive battery powered microcontroller evaluation board.
118	  This same cable can be used to flash new firmware.
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120config SPI_COLDFIRE_QSPI
121	tristate "Freescale Coldfire QSPI controller"
122	depends on (M520x || M523x || M5249 || M527x || M528x || M532x)
123	help
124	  This enables support for the Coldfire QSPI controller in master
125	  mode.
126
 
 
 
 
 
 
 
 
127config SPI_DAVINCI
128	tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller"
129	depends on SPI_MASTER && ARCH_DAVINCI
130	select SPI_BITBANG
131	help
132	  SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules.
133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134config SPI_EP93XX
135	tristate "Cirrus Logic EP93xx SPI controller"
136	depends on ARCH_EP93XX
137	help
138	  This enables using the Cirrus EP93xx SPI controller in master
139	  mode.
140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141config SPI_GPIO
142	tristate "GPIO-based bitbanging SPI Master"
143	depends on GENERIC_GPIO
144	select SPI_BITBANG
145	help
146	  This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
147	  interface to manage MOSI, MISO, SCK, and chipselect signals.  SPI
148	  slaves connected to a bus using this driver are configured as usual,
149	  except that the spi_board_info.controller_data holds the GPIO number
150	  for the chipselect used by this controller driver.
151
152	  Note that this driver often won't achieve even 1 Mbit/sec speeds,
153	  making it unusually slow for SPI.  If your platform can inline
154	  GPIO operations, you should be able to leverage that for better
155	  speed with a custom version of this driver; see the source code.
156
 
 
 
 
 
 
 
157config SPI_IMX
158	tristate "Freescale i.MX SPI controllers"
159	depends on ARCH_MXC
160	select SPI_BITBANG
161	default m if IMX_HAVE_PLATFORM_SPI_IMX
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162	help
163	  This enables using the Freescale i.MX SPI controllers in master
164	  mode.
165
166config SPI_LM70_LLP
167	tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
168	depends on PARPORT && EXPERIMENTAL
169	select SPI_BITBANG
170	help
171	  This driver supports the NS LM70 LLP Evaluation Board,
172	  which interfaces to an LM70 temperature sensor using
173	  a parallel port.
174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175config SPI_MPC52xx
176	tristate "Freescale MPC52xx SPI (non-PSC) controller support"
177	depends on PPC_MPC52xx && SPI
178	select SPI_MASTER_OF
179	help
180	  This drivers supports the MPC52xx SPI controller in master SPI
181	  mode.
182
183config SPI_MPC52xx_PSC
184	tristate "Freescale MPC52xx PSC SPI controller"
185	depends on PPC_MPC52xx && EXPERIMENTAL
186	help
187	  This enables using the Freescale MPC52xx Programmable Serial
188	  Controller in master SPI mode.
189
190config SPI_MPC512x_PSC
191	tristate "Freescale MPC512x PSC SPI controller"
192	depends on SPI_MASTER && PPC_MPC512x
193	help
194	  This enables using the Freescale MPC5121 Programmable Serial
195	  Controller in SPI master mode.
196
197config SPI_FSL_LIB
198	tristate
 
 
 
 
199	depends on FSL_SOC
200
201config SPI_FSL_SPI
202	tristate "Freescale SPI controller"
203	depends on FSL_SOC
204	select SPI_FSL_LIB
 
205	help
206	  This enables using the Freescale SPI controllers in master mode.
207	  MPC83xx platform uses the controller in cpu mode or CPM/QE mode.
208	  MPC8569 uses the controller in QE mode, MPC8610 in cpu mode.
 
 
 
 
 
 
 
 
 
 
209
210config SPI_FSL_ESPI
211	tristate "Freescale eSPI controller"
212	depends on FSL_SOC
213	select SPI_FSL_LIB
214	help
215	  This enables using the Freescale eSPI controllers in master mode.
216	  From MPC8536, 85xx platform uses the controller, and all P10xx,
217	  P20xx, P30xx,P40xx, P50xx uses this controller.
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219config SPI_OC_TINY
220	tristate "OpenCores tiny SPI"
221	depends on GENERIC_GPIO
222	select SPI_BITBANG
223	help
224	  This is the driver for OpenCores tiny SPI master controller.
225
 
 
 
 
 
 
 
226config SPI_OMAP_UWIRE
227	tristate "OMAP1 MicroWire"
228	depends on ARCH_OMAP1
229	select SPI_BITBANG
230	help
231	  This hooks up to the MicroWire controller on OMAP1 chips.
232
233config SPI_OMAP24XX
234	tristate "McSPI driver for OMAP"
235	depends on ARCH_OMAP2PLUS
 
236	help
237	  SPI master controller for OMAP24XX and later Multichannel SPI
238	  (McSPI) modules.
239
240config SPI_OMAP_100K
241	tristate "OMAP SPI 100K"
242	depends on SPI_MASTER && (ARCH_OMAP850 || ARCH_OMAP730)
 
 
 
 
 
 
 
 
243	help
244	  OMAP SPI 100K master controller for omap7xx boards.
 
245
246config SPI_ORION
247	tristate "Orion SPI master (EXPERIMENTAL)"
248	depends on PLAT_ORION && EXPERIMENTAL
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249	help
250	  This enables using the SPI master controller on the Orion chips.
251
252config SPI_PL022
253	tristate "ARM AMBA PL022 SSP controller"
254	depends on ARM_AMBA
255	default y if MACH_U300
256	default y if ARCH_REALVIEW
257	default y if INTEGRATOR_IMPD1
258	default y if ARCH_VERSATILE
259	help
260	  This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP
261	  controller. If you have an embedded system with an AMBA(R)
262	  bus and a PL022 controller, say Y or M here.
263
264config SPI_PPC4xx
265	tristate "PPC4xx SPI Controller"
266	depends on PPC32 && 4xx && SPI_MASTER
267	select SPI_BITBANG
268	help
269	  This selects a driver for the PPC4xx SPI Controller.
270
271config SPI_PXA2XX
272	tristate "PXA2xx SSP SPI master"
273	depends on (ARCH_PXA || (X86_32 && PCI)) && EXPERIMENTAL
274	select PXA_SSP if ARCH_PXA
275	help
276	  This enables using a PXA2xx or Sodaville SSP port as a SPI master
277	  controller. The driver can be configured to use any SSP port and
278	  additional documentation can be found a Documentation/spi/pxa2xx.
279
280config SPI_PXA2XX_PCI
281	def_bool SPI_PXA2XX && X86_32 && PCI
282
283config SPI_S3C24XX
284	tristate "Samsung S3C24XX series SPI"
285	depends on ARCH_S3C2410 && EXPERIMENTAL
286	select SPI_BITBANG
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287	help
288	  SPI driver for Samsung S3C24XX series ARM SoCs
 
 
 
 
 
 
 
289
290config SPI_S3C24XX_FIQ
291	bool "S3C24XX driver with FIQ pseudo-DMA"
292	depends on SPI_S3C24XX
293	select FIQ
294	help
295	  Enable FIQ support for the S3C24XX SPI driver to provide pseudo
296	  DMA by using the fast-interrupt request framework, This allows
297	  the driver to get DMA-like performance when there are either
298	  no free DMA channels, or when doing transfers that required both
299	  TX and RX data paths.
 
 
300
301config SPI_S3C64XX
302	tristate "Samsung S3C64XX series type SPI"
303	depends on (ARCH_S3C64XX || ARCH_S5P64X0)
304	select S3C64XX_DMA if ARCH_S3C64XX
305	help
306	  SPI driver for Samsung S3C64XX and newer SoCs.
 
 
 
 
 
 
 
307
308config SPI_SH_MSIOF
309	tristate "SuperH MSIOF SPI controller"
310	depends on SUPERH && HAVE_CLK
311	select SPI_BITBANG
312	help
313	  SPI driver for SuperH MSIOF blocks.
314
315config SPI_SH
316	tristate "SuperH SPI controller"
317	depends on SUPERH
318	help
319	  SPI driver for SuperH SPI blocks.
320
321config SPI_SH_SCI
322	tristate "SuperH SCI SPI controller"
323	depends on SUPERH
324	select SPI_BITBANG
325	help
326	  SPI driver for SuperH SCI blocks.
327
328config SPI_STMP3XXX
329	tristate "Freescale STMP37xx/378x SPI/SSP controller"
330	depends on ARCH_STMP3XXX && SPI_MASTER
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331	help
332	  SPI driver for Freescale STMP37xx/378x SoC SSP interface
 
 
 
 
 
333
334config SPI_TEGRA
335	tristate "Nvidia Tegra SPI controller"
336	depends on ARCH_TEGRA
337	select TEGRA_SYSTEM_DMA
338	help
339	  SPI driver for NVidia Tegra SoCs
 
 
340
341config SPI_TI_SSP
342	tristate "TI Sequencer Serial Port - SPI Support"
343	depends on MFD_TI_SSP
 
 
 
344	help
345	  This selects an SPI master implementation using a TI sequencer
346	  serial port.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
348config SPI_TOPCLIFF_PCH
349	tristate "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH SPI controller"
350	depends on PCI
351	help
352	  SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus
353	  used in some x86 embedded processors.
354
355	  This driver also supports the ML7213, a companion chip for the
356	  Atom E6xx series and compatible with the Intel EG20T PCH.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
358config SPI_TXX9
359	tristate "Toshiba TXx9 SPI controller"
360	depends on GENERIC_GPIO && CPU_TX49XX
361	help
362	  SPI driver for Toshiba TXx9 MIPS SoCs
 
363
364config SPI_XILINX
365	tristate "Xilinx SPI controller common module"
366	depends on HAS_IOMEM && EXPERIMENTAL
367	select SPI_BITBANG
368	help
369	  This exposes the SPI controller IP from the Xilinx EDK.
370
371	  See the "OPB Serial Peripheral Interface (SPI) (v1.00e)"
372	  Product Specification document (DS464) for hardware details.
373
374	  Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)"
375
376config SPI_NUC900
377	tristate "Nuvoton NUC900 series SPI"
378	depends on ARCH_W90X900 && EXPERIMENTAL
 
 
 
 
 
 
 
 
 
 
379	select SPI_BITBANG
380	help
381	  SPI driver for Nuvoton NUC900 series ARM SoCs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
383#
384# Add new SPI master controllers in alphabetical order above this line
385#
386
387config SPI_DESIGNWARE
388	tristate "DesignWare SPI controller core support"
389	depends on SPI_MASTER
390	help
391	  general driver for SPI controller core from DesignWare
392
393config SPI_DW_PCI
394	tristate "PCI interface driver for DW SPI core"
395	depends on SPI_DESIGNWARE && PCI
396
397config SPI_DW_MID_DMA
398	bool "DMA support for DW SPI controller on Intel Moorestown platform"
399	depends on SPI_DW_PCI && INTEL_MID_DMAC
400
401config SPI_DW_MMIO
402	tristate "Memory-mapped io interface driver for DW SPI core"
403	depends on SPI_DESIGNWARE && HAVE_CLK
 
 
 
 
 
404
405#
406# There are lots of SPI device types, with sensors and memory
407# being probably the most widely used ones.
408#
409comment "SPI Protocol Masters"
410
411config SPI_SPIDEV
412	tristate "User mode SPI device driver support"
413	depends on EXPERIMENTAL
414	help
415	  This supports user mode SPI protocol drivers.
416
417	  Note that this application programming interface is EXPERIMENTAL
418	  and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes.
 
 
 
 
 
 
419
420config SPI_TLE62X0
421	tristate "Infineon TLE62X0 (for power switching)"
422	depends on SYSFS
423	help
424	  SPI driver for Infineon TLE62X0 series line driver chips,
425	  such as the TLE6220, TLE6230 and TLE6240.  This provides a
426	  sysfs interface, with each line presented as a kind of GPIO
427	  exposing both switch control and diagnostic feedback.
428
429#
430# Add new SPI protocol masters in alphabetical order above this line
431#
432
433endif # SPI_MASTER
434
435# (slave support would go here)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
436
437endif # SPI