Root/
1 | # |
2 | # SPI driver configuration |
3 | # |
4 | # NOTE: the reason this doesn't show SPI slave support is mostly that |
5 | # nobody's needed a slave side API yet. The master-role API is not |
6 | # fully appropriate there, so it'd need some thought to do well. |
7 | # |
8 | menuconfig SPI |
9 | bool "SPI support" |
10 | depends on HAS_IOMEM |
11 | help |
12 | The "Serial Peripheral Interface" is a low level synchronous |
13 | protocol. Chips that support SPI can have data transfer rates |
14 | up to several tens of Mbit/sec. Chips are addressed with a |
15 | controller and a chipselect. Most SPI slaves don't support |
16 | dynamic device discovery; some are even write-only or read-only. |
17 | |
18 | SPI is widely used by microcontrollers to talk with sensors, |
19 | eeprom and flash memory, codecs and various other controller |
20 | chips, analog to digital (and d-to-a) converters, and more. |
21 | MMC and SD cards can be accessed using SPI protocol; and for |
22 | DataFlash cards used in MMC sockets, SPI must always be used. |
23 | |
24 | SPI is one of a family of similar protocols using a four wire |
25 | interface (select, clock, data in, data out) including Microwire |
26 | (half duplex), SSP, SSI, and PSP. This driver framework should |
27 | work with most such devices and controllers. |
28 | |
29 | if SPI |
30 | |
31 | config SPI_DEBUG |
32 | 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 | |
42 | config 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 | |
52 | if SPI_MASTER |
53 | |
54 | comment "SPI Master Controller Drivers" |
55 | |
56 | config SPI_ALTERA |
57 | tristate "Altera SPI Controller" |
58 | depends on GENERIC_HARDIRQS |
59 | select SPI_BITBANG |
60 | help |
61 | This is the driver for the Altera SPI Controller. |
62 | |
63 | config SPI_ATH79 |
64 | tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver" |
65 | depends on ATH79 && GENERIC_GPIO |
66 | select SPI_BITBANG |
67 | help |
68 | This enables support for the SPI controller present on the |
69 | Atheros AR71XX/AR724X/AR913X SoCs. |
70 | |
71 | config SPI_ATMEL |
72 | tristate "Atmel SPI Controller" |
73 | depends on (ARCH_AT91 || AVR32) |
74 | help |
75 | This selects a driver for the Atmel SPI Controller, present on |
76 | many AT32 (AVR32) and AT91 (ARM) chips. |
77 | |
78 | config SPI_BFIN5XX |
79 | tristate "SPI controller driver for ADI Blackfin5xx" |
80 | depends on BLACKFIN |
81 | help |
82 | This is the SPI controller master driver for Blackfin 5xx processor. |
83 | |
84 | config SPI_BFIN_SPORT |
85 | tristate "SPI bus via Blackfin SPORT" |
86 | depends on BLACKFIN |
87 | help |
88 | Enable support for a SPI bus via the Blackfin SPORT peripheral. |
89 | |
90 | config SPI_AU1550 |
91 | tristate "Au1550/Au1200/Au1300 SPI Controller" |
92 | depends on MIPS_ALCHEMY |
93 | select SPI_BITBANG |
94 | help |
95 | If you say yes to this option, support will be included for the |
96 | PSC SPI controller found on Au1550, Au1200 and Au1300 series. |
97 | |
98 | config SPI_BCM63XX |
99 | tristate "Broadcom BCM63xx SPI controller" |
100 | depends on BCM63XX |
101 | help |
102 | Enable support for the SPI controller on the Broadcom BCM63xx SoCs. |
103 | |
104 | config SPI_BITBANG |
105 | tristate "Utilities for Bitbanging SPI masters" |
106 | help |
107 | With a few GPIO pins, your system can bitbang the SPI protocol. |
108 | Select this to get SPI support through I/O pins (GPIO, parallel |
109 | port, etc). Or, some systems' SPI master controller drivers use |
110 | this code to manage the per-word or per-transfer accesses to the |
111 | hardware shift registers. |
112 | |
113 | This is library code, and is automatically selected by drivers that |
114 | need it. You only need to select this explicitly to support driver |
115 | modules that aren't part of this kernel tree. |
116 | |
117 | config SPI_BUTTERFLY |
118 | tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)" |
119 | depends on PARPORT |
120 | select SPI_BITBANG |
121 | help |
122 | This uses a custom parallel port cable to connect to an AVR |
123 | Butterfly <http://www.atmel.com/products/avr/butterfly>, an |
124 | inexpensive battery powered microcontroller evaluation board. |
125 | This same cable can be used to flash new firmware. |
126 | |
127 | config SPI_CLPS711X |
128 | tristate "CLPS711X host SPI controller" |
129 | depends on ARCH_CLPS711X |
130 | help |
131 | This enables dedicated general purpose SPI/Microwire1-compatible |
132 | master mode interface (SSI1) for CLPS711X-based CPUs. |
133 | |
134 | config SPI_COLDFIRE_QSPI |
135 | tristate "Freescale Coldfire QSPI controller" |
136 | depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x) |
137 | help |
138 | This enables support for the Coldfire QSPI controller in master |
139 | mode. |
140 | |
141 | config SPI_DAVINCI |
142 | tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller" |
143 | depends on ARCH_DAVINCI |
144 | select SPI_BITBANG |
145 | select TI_EDMA |
146 | help |
147 | SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules. |
148 | |
149 | config SPI_EP93XX |
150 | tristate "Cirrus Logic EP93xx SPI controller" |
151 | depends on ARCH_EP93XX |
152 | help |
153 | This enables using the Cirrus EP93xx SPI controller in master |
154 | mode. |
155 | |
156 | config SPI_FALCON |
157 | tristate "Falcon SPI controller support" |
158 | depends on SOC_FALCON |
159 | help |
160 | The external bus unit (EBU) found on the FALC-ON SoC has SPI |
161 | emulation that is designed for serial flash access. This driver |
162 | has only been tested with m25p80 type chips. The hardware has no |
163 | support for other types of SPI peripherals. |
164 | |
165 | config SPI_GPIO |
166 | tristate "GPIO-based bitbanging SPI Master" |
167 | depends on GENERIC_GPIO |
168 | select SPI_BITBANG |
169 | help |
170 | This simple GPIO bitbanging SPI master uses the arch-neutral GPIO |
171 | interface to manage MOSI, MISO, SCK, and chipselect signals. SPI |
172 | slaves connected to a bus using this driver are configured as usual, |
173 | except that the spi_board_info.controller_data holds the GPIO number |
174 | for the chipselect used by this controller driver. |
175 | |
176 | Note that this driver often won't achieve even 1 Mbit/sec speeds, |
177 | making it unusually slow for SPI. If your platform can inline |
178 | GPIO operations, you should be able to leverage that for better |
179 | speed with a custom version of this driver; see the source code. |
180 | |
181 | config SPI_IMX |
182 | tristate "Freescale i.MX SPI controllers" |
183 | depends on ARCH_MXC |
184 | select SPI_BITBANG |
185 | default m if IMX_HAVE_PLATFORM_SPI_IMX |
186 | help |
187 | This enables using the Freescale i.MX SPI controllers in master |
188 | mode. |
189 | |
190 | config SPI_LM70_LLP |
191 | tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)" |
192 | depends on PARPORT |
193 | select SPI_BITBANG |
194 | help |
195 | This driver supports the NS LM70 LLP Evaluation Board, |
196 | which interfaces to an LM70 temperature sensor using |
197 | a parallel port. |
198 | |
199 | config SPI_MPC52xx |
200 | tristate "Freescale MPC52xx SPI (non-PSC) controller support" |
201 | depends on PPC_MPC52xx |
202 | help |
203 | This drivers supports the MPC52xx SPI controller in master SPI |
204 | mode. |
205 | |
206 | config SPI_MPC52xx_PSC |
207 | tristate "Freescale MPC52xx PSC SPI controller" |
208 | depends on PPC_MPC52xx |
209 | help |
210 | This enables using the Freescale MPC52xx Programmable Serial |
211 | Controller in master SPI mode. |
212 | |
213 | config SPI_MPC512x_PSC |
214 | tristate "Freescale MPC512x PSC SPI controller" |
215 | depends on PPC_MPC512x |
216 | help |
217 | This enables using the Freescale MPC5121 Programmable Serial |
218 | Controller in SPI master mode. |
219 | |
220 | config SPI_FSL_LIB |
221 | tristate |
222 | depends on FSL_SOC |
223 | |
224 | config SPI_FSL_SPI |
225 | bool "Freescale SPI controller" |
226 | depends on FSL_SOC |
227 | select SPI_FSL_LIB |
228 | help |
229 | This enables using the Freescale SPI controllers in master mode. |
230 | MPC83xx platform uses the controller in cpu mode or CPM/QE mode. |
231 | MPC8569 uses the controller in QE mode, MPC8610 in cpu mode. |
232 | |
233 | config SPI_FSL_ESPI |
234 | bool "Freescale eSPI controller" |
235 | depends on FSL_SOC |
236 | select SPI_FSL_LIB |
237 | help |
238 | This enables using the Freescale eSPI controllers in master mode. |
239 | From MPC8536, 85xx platform uses the controller, and all P10xx, |
240 | P20xx, P30xx,P40xx, P50xx uses this controller. |
241 | |
242 | config SPI_OC_TINY |
243 | tristate "OpenCores tiny SPI" |
244 | depends on GENERIC_GPIO |
245 | select SPI_BITBANG |
246 | help |
247 | This is the driver for OpenCores tiny SPI master controller. |
248 | |
249 | config SPI_OCTEON |
250 | tristate "Cavium OCTEON SPI controller" |
251 | depends on CPU_CAVIUM_OCTEON |
252 | help |
253 | SPI host driver for the hardware found on some Cavium OCTEON |
254 | SOCs. |
255 | |
256 | config SPI_OMAP_UWIRE |
257 | tristate "OMAP1 MicroWire" |
258 | depends on ARCH_OMAP1 |
259 | select SPI_BITBANG |
260 | help |
261 | This hooks up to the MicroWire controller on OMAP1 chips. |
262 | |
263 | config SPI_OMAP24XX |
264 | tristate "McSPI driver for OMAP" |
265 | depends on ARCH_OMAP2PLUS |
266 | help |
267 | SPI master controller for OMAP24XX and later Multichannel SPI |
268 | (McSPI) modules. |
269 | |
270 | config SPI_OMAP_100K |
271 | tristate "OMAP SPI 100K" |
272 | depends on ARCH_OMAP850 || ARCH_OMAP730 |
273 | help |
274 | OMAP SPI 100K master controller for omap7xx boards. |
275 | |
276 | config SPI_ORION |
277 | tristate "Orion SPI master" |
278 | depends on PLAT_ORION |
279 | help |
280 | This enables using the SPI master controller on the Orion chips. |
281 | |
282 | config SPI_PL022 |
283 | tristate "ARM AMBA PL022 SSP controller" |
284 | depends on ARM_AMBA |
285 | default y if MACH_U300 |
286 | default y if ARCH_REALVIEW |
287 | default y if INTEGRATOR_IMPD1 |
288 | default y if ARCH_VERSATILE |
289 | help |
290 | This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP |
291 | controller. If you have an embedded system with an AMBA(R) |
292 | bus and a PL022 controller, say Y or M here. |
293 | |
294 | config SPI_PPC4xx |
295 | tristate "PPC4xx SPI Controller" |
296 | depends on PPC32 && 4xx |
297 | select SPI_BITBANG |
298 | help |
299 | This selects a driver for the PPC4xx SPI Controller. |
300 | |
301 | config SPI_PXA2XX_PXADMA |
302 | bool "PXA2xx SSP legacy PXA DMA API support" |
303 | depends on SPI_PXA2XX && ARCH_PXA |
304 | help |
305 | Enable PXA private legacy DMA API support. Note that this is |
306 | deprecated in favor of generic DMA engine API. |
307 | |
308 | config SPI_PXA2XX_DMA |
309 | def_bool y |
310 | depends on SPI_PXA2XX && !SPI_PXA2XX_PXADMA |
311 | |
312 | config SPI_PXA2XX |
313 | tristate "PXA2xx SSP SPI master" |
314 | depends on (ARCH_PXA || PCI || ACPI) && GENERIC_HARDIRQS |
315 | select PXA_SSP if ARCH_PXA |
316 | help |
317 | This enables using a PXA2xx or Sodaville SSP port as a SPI master |
318 | controller. The driver can be configured to use any SSP port and |
319 | additional documentation can be found a Documentation/spi/pxa2xx. |
320 | |
321 | config SPI_PXA2XX_PCI |
322 | def_tristate SPI_PXA2XX && PCI |
323 | |
324 | config SPI_RSPI |
325 | tristate "Renesas RSPI controller" |
326 | depends on SUPERH |
327 | help |
328 | SPI driver for Renesas RSPI blocks. |
329 | |
330 | config SPI_S3C24XX |
331 | tristate "Samsung S3C24XX series SPI" |
332 | depends on ARCH_S3C24XX |
333 | select SPI_BITBANG |
334 | help |
335 | SPI driver for Samsung S3C24XX series ARM SoCs |
336 | |
337 | config SPI_S3C24XX_FIQ |
338 | bool "S3C24XX driver with FIQ pseudo-DMA" |
339 | depends on SPI_S3C24XX |
340 | select FIQ |
341 | help |
342 | Enable FIQ support for the S3C24XX SPI driver to provide pseudo |
343 | DMA by using the fast-interrupt request framework, This allows |
344 | the driver to get DMA-like performance when there are either |
345 | no free DMA channels, or when doing transfers that required both |
346 | TX and RX data paths. |
347 | |
348 | config SPI_S3C64XX |
349 | tristate "Samsung S3C64XX series type SPI" |
350 | depends on (ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || ARCH_EXYNOS) |
351 | select S3C64XX_DMA if ARCH_S3C64XX |
352 | help |
353 | SPI driver for Samsung S3C64XX and newer SoCs. |
354 | |
355 | config SPI_SC18IS602 |
356 | tristate "NXP SC18IS602/602B/603 I2C to SPI bridge" |
357 | depends on I2C |
358 | help |
359 | SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge. |
360 | |
361 | config SPI_SH_MSIOF |
362 | tristate "SuperH MSIOF SPI controller" |
363 | depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK |
364 | select SPI_BITBANG |
365 | help |
366 | SPI driver for SuperH and SH Mobile MSIOF blocks. |
367 | |
368 | config SPI_SH |
369 | tristate "SuperH SPI controller" |
370 | depends on SUPERH |
371 | help |
372 | SPI driver for SuperH SPI blocks. |
373 | |
374 | config SPI_SH_SCI |
375 | tristate "SuperH SCI SPI controller" |
376 | depends on SUPERH |
377 | select SPI_BITBANG |
378 | help |
379 | SPI driver for SuperH SCI blocks. |
380 | |
381 | config SPI_SH_HSPI |
382 | tristate "SuperH HSPI controller" |
383 | depends on ARCH_SHMOBILE |
384 | help |
385 | SPI driver for SuperH HSPI blocks. |
386 | |
387 | config SPI_SIRF |
388 | tristate "CSR SiRFprimaII SPI controller" |
389 | depends on ARCH_PRIMA2 |
390 | select SPI_BITBANG |
391 | help |
392 | SPI driver for CSR SiRFprimaII SoCs |
393 | |
394 | config SPI_MXS |
395 | tristate "Freescale MXS SPI controller" |
396 | depends on ARCH_MXS |
397 | select STMP_DEVICE |
398 | help |
399 | SPI driver for Freescale MXS devices. |
400 | |
401 | config SPI_TEGRA20_SFLASH |
402 | tristate "Nvidia Tegra20 Serial flash Controller" |
403 | depends on ARCH_TEGRA |
404 | help |
405 | SPI driver for Nvidia Tegra20 Serial flash Controller interface. |
406 | The main usecase of this controller is to use spi flash as boot |
407 | device. |
408 | |
409 | config SPI_TEGRA20_SLINK |
410 | tristate "Nvidia Tegra20/Tegra30 SLINK Controller" |
411 | depends on ARCH_TEGRA && TEGRA20_APB_DMA |
412 | help |
413 | SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface. |
414 | |
415 | config SPI_TI_SSP |
416 | tristate "TI Sequencer Serial Port - SPI Support" |
417 | depends on MFD_TI_SSP |
418 | help |
419 | This selects an SPI master implementation using a TI sequencer |
420 | serial port. |
421 | |
422 | config SPI_TOPCLIFF_PCH |
423 | tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI" |
424 | depends on PCI |
425 | help |
426 | SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus |
427 | used in some x86 embedded processors. |
428 | |
429 | This driver also supports the ML7213/ML7223/ML7831, a companion chip |
430 | for the Atom E6xx series and compatible with the Intel EG20T PCH. |
431 | |
432 | config SPI_TXX9 |
433 | tristate "Toshiba TXx9 SPI controller" |
434 | depends on GENERIC_GPIO && CPU_TX49XX |
435 | help |
436 | SPI driver for Toshiba TXx9 MIPS SoCs |
437 | |
438 | config SPI_XCOMM |
439 | tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver" |
440 | depends on I2C |
441 | help |
442 | Support for the SPI-I2C bridge found on the Analog Devices |
443 | AD-FMCOMMS1-EBZ board. |
444 | |
445 | config SPI_XILINX |
446 | tristate "Xilinx SPI controller common module" |
447 | depends on HAS_IOMEM |
448 | select SPI_BITBANG |
449 | help |
450 | This exposes the SPI controller IP from the Xilinx EDK. |
451 | |
452 | See the "OPB Serial Peripheral Interface (SPI) (v1.00e)" |
453 | Product Specification document (DS464) for hardware details. |
454 | |
455 | Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)" |
456 | |
457 | config SPI_NUC900 |
458 | tristate "Nuvoton NUC900 series SPI" |
459 | depends on ARCH_W90X900 |
460 | select SPI_BITBANG |
461 | help |
462 | SPI driver for Nuvoton NUC900 series ARM SoCs |
463 | |
464 | # |
465 | # Add new SPI master controllers in alphabetical order above this line |
466 | # |
467 | |
468 | config SPI_DESIGNWARE |
469 | tristate "DesignWare SPI controller core support" |
470 | help |
471 | general driver for SPI controller core from DesignWare |
472 | |
473 | config SPI_DW_PCI |
474 | tristate "PCI interface driver for DW SPI core" |
475 | depends on SPI_DESIGNWARE && PCI |
476 | |
477 | config SPI_DW_MID_DMA |
478 | bool "DMA support for DW SPI controller on Intel Moorestown platform" |
479 | depends on SPI_DW_PCI && INTEL_MID_DMAC |
480 | |
481 | config SPI_DW_MMIO |
482 | tristate "Memory-mapped io interface driver for DW SPI core" |
483 | depends on SPI_DESIGNWARE && HAVE_CLK |
484 | |
485 | # |
486 | # There are lots of SPI device types, with sensors and memory |
487 | # being probably the most widely used ones. |
488 | # |
489 | comment "SPI Protocol Masters" |
490 | |
491 | config SPI_SPIDEV |
492 | tristate "User mode SPI device driver support" |
493 | help |
494 | This supports user mode SPI protocol drivers. |
495 | |
496 | Note that this application programming interface is EXPERIMENTAL |
497 | and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes. |
498 | |
499 | config SPI_TLE62X0 |
500 | tristate "Infineon TLE62X0 (for power switching)" |
501 | depends on SYSFS |
502 | help |
503 | SPI driver for Infineon TLE62X0 series line driver chips, |
504 | such as the TLE6220, TLE6230 and TLE6240. This provides a |
505 | sysfs interface, with each line presented as a kind of GPIO |
506 | exposing both switch control and diagnostic feedback. |
507 | |
508 | # |
509 | # Add new SPI protocol masters in alphabetical order above this line |
510 | # |
511 | |
512 | endif # SPI_MASTER |
513 | |
514 | # (slave support would go here) |
515 | |
516 | endif # SPI |
517 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9