Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / drivers / iio / adc / Kconfig
1 #
2 # ADC drivers
3 #
4 # When adding new entries keep the list in alphabetical order
5
6 menu "Analog to digital converters"
7
8 config AD_SIGMA_DELTA
9         tristate
10         select IIO_BUFFER
11         select IIO_TRIGGERED_BUFFER
12
13 config AD7266
14         tristate "Analog Devices AD7265/AD7266 ADC driver"
15         depends on SPI_MASTER
16         select IIO_BUFFER
17         select IIO_TRIGGER
18         select IIO_TRIGGERED_BUFFER
19         help
20           Say yes here to build support for Analog Devices AD7265 and AD7266
21           ADCs.
22
23           To compile this driver as a module, choose M here: the module will be
24           called ad7266.
25
26 config AD7291
27         tristate "Analog Devices AD7291 ADC driver"
28         depends on I2C
29         help
30           Say yes here to build support for Analog Devices AD7291
31           8 Channel ADC with temperature sensor.
32
33           To compile this driver as a module, choose M here: the
34           module will be called ad7291.
35
36 config AD7298
37         tristate "Analog Devices AD7298 ADC driver"
38         depends on SPI
39         select IIO_BUFFER
40         select IIO_TRIGGERED_BUFFER
41         help
42           Say yes here to build support for Analog Devices AD7298
43           8 Channel ADC with temperature sensor.
44
45           To compile this driver as a module, choose M here: the
46           module will be called ad7298.
47
48 config AD7476
49         tristate "Analog Devices AD7476 and similar 1-channel ADCs driver"
50         depends on SPI
51         select IIO_BUFFER
52         select IIO_TRIGGERED_BUFFER
53         help
54           Say yes here to build support for Analog Devices AD7273, AD7274, AD7276,
55           AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468,
56           AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC).
57
58           To compile this driver as a module, choose M here: the
59           module will be called ad7476.
60
61 config AD7766
62         tristate "Analog Devices AD7766/AD7767 ADC driver"
63         depends on SPI_MASTER
64         select IIO_BUFFER
65         select IIO_TRIGGERED_BUFFER
66         help
67           Say yes here to build support for Analog Devices AD7766, AD7766-1,
68           AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.
69
70           To compile this driver as a module, choose M here: the module will be
71           called ad7766.
72
73 config AD7791
74         tristate "Analog Devices AD7791 ADC driver"
75         depends on SPI
76         select AD_SIGMA_DELTA
77         help
78           Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
79           AD7790 and AD7791 SPI analog to digital converters (ADC).
80
81           To compile this driver as a module, choose M here: the module will be
82           called ad7791.
83
84 config AD7793
85         tristate "Analog Devices AD7793 and similar ADCs driver"
86         depends on SPI
87         select AD_SIGMA_DELTA
88         help
89           Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
90           AD7794 and AD7795 SPI analog to digital converters (ADC).
91
92           To compile this driver as a module, choose M here: the
93           module will be called AD7793.
94
95 config AD7887
96         tristate "Analog Devices AD7887 ADC driver"
97         depends on SPI
98         select IIO_BUFFER
99         select IIO_TRIGGERED_BUFFER
100         help
101           Say yes here to build support for Analog Devices
102           AD7887 SPI analog to digital converter (ADC).
103
104           To compile this driver as a module, choose M here: the
105           module will be called ad7887.
106
107 config AD7923
108         tristate "Analog Devices AD7923 and similar ADCs driver"
109         depends on SPI
110         select IIO_BUFFER
111         select IIO_TRIGGERED_BUFFER
112         help
113           Say yes here to build support for Analog Devices
114           AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
115
116           To compile this driver as a module, choose M here: the
117           module will be called ad7923.
118
119 config AD799X
120         tristate "Analog Devices AD799x ADC driver"
121         depends on I2C
122         select IIO_BUFFER
123         select IIO_TRIGGERED_BUFFER
124         help
125           Say yes here to build support for Analog Devices:
126           ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
127           i2c analog to digital converters (ADC). Provides direct access
128           via sysfs.
129
130           To compile this driver as a module, choose M here: the module will be
131           called ad799x.
132
133 config AT91_ADC
134         tristate "Atmel AT91 ADC"
135         depends on ARCH_AT91
136         depends on INPUT
137         select IIO_BUFFER
138         select IIO_TRIGGERED_BUFFER
139         select SYSFS
140         help
141           Say yes here to build support for Atmel AT91 ADC.
142
143           To compile this driver as a module, choose M here: the module will be
144           called at91_adc.
145
146 config AT91_SAMA5D2_ADC
147         tristate "Atmel AT91 SAMA5D2 ADC"
148         depends on ARCH_AT91 || COMPILE_TEST
149         depends on HAS_IOMEM
150         help
151           Say yes here to build support for Atmel SAMA5D2 ADC which is
152           available on SAMA5D2 SoC family.
153
154           To compile this driver as a module, choose M here: the module will be
155           called at91-sama5d2_adc.
156
157 config AXP288_ADC
158         tristate "X-Powers AXP288 ADC driver"
159         depends on MFD_AXP20X
160         help
161           Say yes here to have support for X-Powers power management IC (PMIC) ADC
162           device. Depending on platform configuration, this general purpose ADC can
163           be used for sampling sensors such as thermal resistors.
164
165           To compile this driver as a module, choose M here: the module will be
166           called axp288_adc.
167
168 config BCM_IPROC_ADC
169         tristate "Broadcom IPROC ADC driver"
170         depends on ARCH_BCM_IPROC || COMPILE_TEST
171         depends on MFD_SYSCON
172         default ARCH_BCM_CYGNUS
173         help
174           Say Y here if you want to add support for the Broadcom static
175           ADC driver.
176
177           Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
178           channels. The driver allows the user to read voltage values.
179
180 config BERLIN2_ADC
181         tristate "Marvell Berlin2 ADC driver"
182         depends on ARCH_BERLIN
183         help
184           Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
185           temperature measurement.
186
187 config CC10001_ADC
188         tristate "Cosmic Circuits 10001 ADC driver"
189         depends on HAS_IOMEM && HAVE_CLK && REGULATOR
190         select IIO_BUFFER
191         select IIO_TRIGGERED_BUFFER
192         help
193           Say yes here to build support for Cosmic Circuits 10001 ADC.
194
195           This driver can also be built as a module. If so, the module will be
196           called cc10001_adc.
197
198 config DA9150_GPADC
199         tristate "Dialog DA9150 GPADC driver support"
200         depends on MFD_DA9150
201         help
202           Say yes here to build support for Dialog DA9150 GPADC.
203
204           This driver can also be built as a module. If chosen, the module name
205           will be da9150-gpadc.
206
207           To compile this driver as a module, choose M here: the module will be
208           called berlin2-adc.
209
210 config ENVELOPE_DETECTOR
211         tristate "Envelope detector using a DAC and a comparator"
212         depends on OF
213         help
214           Say yes here to build support for an envelope detector using a DAC
215           and a comparator.
216
217           To compile this driver as a module, choose M here: the module will be
218           called envelope-detector.
219
220 config EXYNOS_ADC
221         tristate "Exynos ADC driver support"
222         depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
223         depends on HAS_IOMEM
224         help
225           Core support for the ADC block found in the Samsung EXYNOS series
226           of SoCs for drivers such as the touchscreen and hwmon to use to share
227           this resource.
228
229           To compile this driver as a module, choose M here: the module will be
230           called exynos_adc.
231
232 config FSL_MX25_ADC
233         tristate "Freescale MX25 ADC driver"
234         depends on MFD_MX25_TSADC
235         help
236           Generic Conversion Queue driver used for general purpose ADC in the
237           MX25. This driver supports single measurements using the MX25 ADC.
238
239 config HI8435
240         tristate "Holt Integrated Circuits HI-8435 threshold detector"
241         select IIO_TRIGGERED_EVENT
242         depends on SPI
243         help
244           If you say yes here you get support for Holt Integrated Circuits
245           HI-8435 chip.
246
247           This driver can also be built as a module. If so, the module will be
248           called hi8435.
249
250 config INA2XX_ADC
251         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
252         depends on I2C && !SENSORS_INA2XX
253         select REGMAP_I2C
254         select IIO_BUFFER
255         select IIO_KFIFO_BUF
256         help
257           Say yes here to build support for TI INA2xx family of Power Monitors.
258           This driver is mutually exclusive with the HWMON version.
259
260 config IMX7D_ADC
261         tristate "IMX7D ADC driver"
262         depends on ARCH_MXC || COMPILE_TEST
263         depends on HAS_IOMEM
264         help
265           Say yes here to build support for IMX7D ADC.
266
267           This driver can also be built as a module. If so, the module will be
268           called imx7d_adc.
269
270 config LP8788_ADC
271         tristate "LP8788 ADC driver"
272         depends on MFD_LP8788
273         help
274           Say yes here to build support for TI LP8788 ADC.
275
276           To compile this driver as a module, choose M here: the module will be
277           called lp8788_adc.
278
279 config LPC18XX_ADC
280         tristate "NXP LPC18xx ADC driver"
281         depends on ARCH_LPC18XX || COMPILE_TEST
282         depends on OF && HAS_IOMEM
283         help
284           Say yes here to build support for NXP LPC18XX ADC.
285
286           To compile this driver as a module, choose M here: the module will be
287           called lpc18xx_adc.
288
289 config LTC2485
290         tristate "Linear Technology LTC2485 ADC driver"
291         depends on I2C
292         help
293           Say yes here to build support for Linear Technology LTC2485 ADC.
294
295           To compile this driver as a module, choose M here: the module will be
296           called ltc2485.
297
298 config MAX1027
299         tristate "Maxim max1027 ADC driver"
300         depends on SPI
301         select IIO_BUFFER
302         select IIO_TRIGGERED_BUFFER
303         help
304           Say yes here to build support for Maxim SPI ADC models
305           max1027, max1029 and max1031.
306
307           To compile this driver as a module, choose M here: the module will be
308           called max1027.
309
310 config MAX1363
311         tristate "Maxim max1363 ADC driver"
312         depends on I2C
313         select IIO_BUFFER
314         select IIO_TRIGGERED_BUFFER
315         help
316           Say yes here to build support for many Maxim i2c analog to digital
317           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
318           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
319           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
320           max11602, max11603, max11604, max11605, max11606, max11607,
321           max11608, max11609, max11610, max11611, max11612, max11613,
322           max11614, max11615, max11616, max11617, max11644, max11645,
323           max11646, max11647) Provides direct access via sysfs and buffered
324           data via the iio dev interface.
325
326           To compile this driver as a module, choose M here: the module will be
327           called max1363.
328
329 config MCP320X
330         tristate "Microchip Technology MCP3x01/02/04/08"
331         depends on SPI
332         help
333           Say yes here to build support for Microchip Technology's
334           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
335           MCP3208 or MCP3301 analog to digital converter.
336
337           This driver can also be built as a module. If so, the module will be
338           called mcp320x.
339
340 config MCP3422
341         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
342         depends on I2C
343         help
344           Say yes here to build support for Microchip Technology's MCP3421
345           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
346           analog to digital converters.
347
348           This driver can also be built as a module. If so, the module will be
349           called mcp3422.
350
351 config MEDIATEK_MT6577_AUXADC
352         tristate "MediaTek AUXADC driver"
353         depends on ARCH_MEDIATEK || COMPILE_TEST
354         depends on HAS_IOMEM
355         help
356           Say yes here to enable support for MediaTek mt65xx AUXADC.
357
358           The driver supports immediate mode operation to read from one of sixteen
359           channels (external or internal).
360
361           This driver can also be built as a module. If so, the module will be
362           called mt6577_auxadc.
363
364 config MEN_Z188_ADC
365         tristate "MEN 16z188 ADC IP Core support"
366         depends on MCB
367         help
368           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
369           carrier.
370
371           This driver can also be built as a module. If so, the module will be
372           called men_z188_adc.
373
374 config MXS_LRADC
375         tristate "Freescale i.MX23/i.MX28 LRADC"
376         depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
377         depends on INPUT
378         select STMP_DEVICE
379         select IIO_BUFFER
380         select IIO_TRIGGERED_BUFFER
381         help
382           Say yes here to build support for i.MX23/i.MX28 LRADC convertor
383           built into these chips.
384
385           To compile this driver as a module, choose M here: the
386           module will be called mxs-lradc.
387
388 config NAU7802
389         tristate "Nuvoton NAU7802 ADC driver"
390         depends on I2C
391         help
392           Say yes here to build support for Nuvoton NAU7802 ADC.
393
394           To compile this driver as a module, choose M here: the
395           module will be called nau7802.
396
397 config PALMAS_GPADC
398         tristate "TI Palmas General Purpose ADC"
399         depends on MFD_PALMAS
400         help
401           Palmas series pmic chip by Texas Instruments (twl6035/6037)
402           is used in smartphones and tablets and supports a 16 channel
403           general purpose ADC.
404
405 config QCOM_SPMI_IADC
406         tristate "Qualcomm SPMI PMIC current ADC"
407         depends on SPMI
408         select REGMAP_SPMI
409         help
410           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
411
412           The driver supports single mode operation to read from one of two
413           channels (external or internal). Hardware have additional
414           channels internally used for gain and offset calibration.
415
416           To compile this driver as a module, choose M here: the module will
417           be called qcom-spmi-iadc.
418
419 config QCOM_SPMI_VADC
420         tristate "Qualcomm SPMI PMIC voltage ADC"
421         depends on SPMI
422         select REGMAP_SPMI
423         help
424           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
425
426           The driver supports multiple channels read. The VADC is a 15-bit
427           sigma-delta ADC. Some of the channels are internally used for
428           calibration.
429
430           To compile this driver as a module, choose M here: the module will
431           be called qcom-spmi-vadc.
432
433 config ROCKCHIP_SARADC
434         tristate "Rockchip SARADC driver"
435         depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
436         depends on RESET_CONTROLLER
437         help
438           Say yes here to build support for the SARADC found in SoCs from
439           Rockchip.
440
441           To compile this driver as a module, choose M here: the
442           module will be called rockchip_saradc.
443
444 config STM32_ADC_CORE
445         tristate "STMicroelectronics STM32 adc core"
446         depends on ARCH_STM32 || COMPILE_TEST
447         depends on OF
448         depends on REGULATOR
449         help
450           Select this option to enable the core driver for STMicroelectronics
451           STM32 analog-to-digital converter (ADC).
452
453           This driver can also be built as a module.  If so, the module
454           will be called stm32-adc-core.
455
456 config STM32_ADC
457         tristate "STMicroelectronics STM32 adc"
458         depends on STM32_ADC_CORE
459         help
460           Say yes here to build support for STMicroelectronics stm32 Analog
461           to Digital Converter (ADC).
462
463           This driver can also be built as a module.  If so, the module
464           will be called stm32-adc.
465
466 config STX104
467         tristate "Apex Embedded Systems STX104 driver"
468         depends on X86 && ISA_BUS_API
469         select GPIOLIB
470         help
471           Say yes here to build support for the Apex Embedded Systems STX104
472           integrated analog PC/104 card.
473
474           This driver supports the 16 channels of single-ended (8 channels of
475           differential) analog inputs, 2 channels of analog output, 4 digital
476           inputs, and 4 digital outputs provided by the STX104.
477
478           The base port addresses for the devices may be configured via the base
479           array module parameter.
480
481 config TI_ADC081C
482         tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
483         depends on I2C
484         select IIO_BUFFER
485         select IIO_TRIGGERED_BUFFER
486         help
487           If you say yes here you get support for Texas Instruments ADC081C,
488           ADC101C and ADC121C ADC chips.
489
490           This driver can also be built as a module. If so, the module will be
491           called ti-adc081c.
492
493 config TI_ADC0832
494         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
495         depends on SPI
496         select IIO_BUFFER
497         select IIO_TRIGGERED_BUFFER
498         help
499           If you say yes here you get support for Texas Instruments ADC0831,
500           ADC0832, ADC0834, ADC0838 ADC chips.
501
502           This driver can also be built as a module. If so, the module will be
503           called ti-adc0832.
504
505 config TI_ADC12138
506         tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
507         depends on SPI
508         select IIO_BUFFER
509         select IIO_TRIGGERED_BUFFER
510         help
511           If you say yes here you get support for Texas Instruments ADC12130,
512           ADC12132 and ADC12138 chips.
513
514           This driver can also be built as a module. If so, the module will be
515           called ti-adc12138.
516
517 config TI_ADC128S052
518         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
519         depends on SPI
520         help
521           If you say yes here you get support for Texas Instruments ADC128S052,
522           ADC122S021 and ADC124S021 chips.
523
524           This driver can also be built as a module. If so, the module will be
525           called ti-adc128s052.
526
527 config TI_ADC161S626
528         tristate "Texas Instruments ADC161S626 1-channel differential ADC"
529         depends on SPI
530         select IIO_BUFFER
531         select IIO_TRIGGERED_BUFFER
532         help
533           If you say yes here you get support for Texas Instruments ADC141S626,
534           and ADC161S626 chips.
535
536           This driver can also be built as a module. If so, the module will be
537           called ti-adc161s626.
538
539 config TI_ADS1015
540         tristate "Texas Instruments ADS1015 ADC"
541         depends on I2C && !SENSORS_ADS1015
542         select REGMAP_I2C
543         select IIO_BUFFER
544         select IIO_TRIGGERED_BUFFER
545         help
546           If you say yes here you get support for Texas Instruments ADS1015
547           ADC chip.
548
549           This driver can also be built as a module. If so, the module will be
550           called ti-ads1015.
551
552 config TI_ADS8688
553         tristate "Texas Instruments ADS8688"
554         depends on SPI && OF
555         help
556           If you say yes here you get support for Texas Instruments ADS8684 and
557           and ADS8688 ADC chips
558
559           This driver can also be built as a module. If so, the module will be
560           called ti-ads8688.
561
562 config TI_AM335X_ADC
563         tristate "TI's AM335X ADC driver"
564         depends on MFD_TI_AM335X_TSCADC && HAS_DMA
565         select IIO_BUFFER
566         select IIO_KFIFO_BUF
567         help
568           Say yes here to build support for Texas Instruments ADC
569           driver which is also a MFD client.
570
571           To compile this driver as a module, choose M here: the module will be
572           called ti_am335x_adc.
573
574 config TWL4030_MADC
575         tristate "TWL4030 MADC (Monitoring A/D Converter)"
576         depends on TWL4030_CORE
577         help
578           This driver provides support for Triton TWL4030-MADC. The
579           driver supports both RT and SW conversion methods.
580
581           This driver can also be built as a module. If so, the module will be
582           called twl4030-madc.
583
584 config TWL6030_GPADC
585         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
586         depends on TWL4030_CORE
587         default n
588         help
589           Say yes here if you want support for the TWL6030/TWL6032 General
590           Purpose A/D Converter. This will add support for battery type
591           detection, battery voltage and temperature measurement, die
592           temperature measurement, system supply voltage, audio accessory,
593           USB ID detection.
594
595           This driver can also be built as a module. If so, the module will be
596           called twl6030-gpadc.
597
598 config VF610_ADC
599         tristate "Freescale vf610 ADC driver"
600         depends on OF
601         depends on HAS_IOMEM
602         select IIO_BUFFER
603         select IIO_TRIGGERED_BUFFER
604         help
605           Say yes here to support for Vybrid board analog-to-digital converter.
606           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
607
608           This driver can also be built as a module. If so, the module will be
609           called vf610_adc.
610
611 config VIPERBOARD_ADC
612         tristate "Viperboard ADC support"
613         depends on MFD_VIPERBOARD && USB
614         help
615           Say yes here to access the ADC part of the Nano River
616           Technologies Viperboard.
617
618           To compile this driver as a module, choose M here: the module will be
619           called viperboard_adc.
620
621 config XILINX_XADC
622         tristate "Xilinx XADC driver"
623         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
624         depends on HAS_IOMEM
625         select IIO_BUFFER
626         select IIO_TRIGGERED_BUFFER
627         help
628           Say yes here to have support for the Xilinx XADC. The driver does support
629           both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
630
631           The driver can also be build as a module. If so, the module will be called
632           xilinx-xadc.
633
634 endmenu