8e7764c3cc84063c5290c5945aaa2d2519408c62
[linux-2.6-microblaze.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 HX711
251         tristate "AVIA HX711 ADC for weight cells"
252         depends on GPIOLIB
253         help
254           If you say yes here you get support for AVIA HX711 ADC which is used
255           for weigh cells
256
257           This driver uses two GPIOs, one acts as the clock and controls the
258           channel selection and gain, the other one is used for the measurement
259           data
260
261           Currently the raw value is read from the chip and delivered.
262           To get an actual weight one needs to subtract the
263           zero offset and multiply by a scale factor.
264           This should be done in userspace.
265
266           This driver can also be built as a module. If so, the module will be
267           called hx711.
268
269 config INA2XX_ADC
270         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
271         depends on I2C && !SENSORS_INA2XX
272         select REGMAP_I2C
273         select IIO_BUFFER
274         select IIO_KFIFO_BUF
275         help
276           Say yes here to build support for TI INA2xx family of Power Monitors.
277           This driver is mutually exclusive with the HWMON version.
278
279 config IMX7D_ADC
280         tristate "IMX7D ADC driver"
281         depends on ARCH_MXC || COMPILE_TEST
282         depends on HAS_IOMEM
283         help
284           Say yes here to build support for IMX7D ADC.
285
286           This driver can also be built as a module. If so, the module will be
287           called imx7d_adc.
288
289 config LP8788_ADC
290         tristate "LP8788 ADC driver"
291         depends on MFD_LP8788
292         help
293           Say yes here to build support for TI LP8788 ADC.
294
295           To compile this driver as a module, choose M here: the module will be
296           called lp8788_adc.
297
298 config LPC18XX_ADC
299         tristate "NXP LPC18xx ADC driver"
300         depends on ARCH_LPC18XX || COMPILE_TEST
301         depends on OF && HAS_IOMEM
302         help
303           Say yes here to build support for NXP LPC18XX ADC.
304
305           To compile this driver as a module, choose M here: the module will be
306           called lpc18xx_adc.
307
308 config LTC2485
309         tristate "Linear Technology LTC2485 ADC driver"
310         depends on I2C
311         help
312           Say yes here to build support for Linear Technology LTC2485 ADC.
313
314           To compile this driver as a module, choose M here: the module will be
315           called ltc2485.
316
317 config MAX1027
318         tristate "Maxim max1027 ADC driver"
319         depends on SPI
320         select IIO_BUFFER
321         select IIO_TRIGGERED_BUFFER
322         help
323           Say yes here to build support for Maxim SPI ADC models
324           max1027, max1029 and max1031.
325
326           To compile this driver as a module, choose M here: the module will be
327           called max1027.
328
329 config MAX1363
330         tristate "Maxim max1363 ADC driver"
331         depends on I2C
332         select IIO_BUFFER
333         select IIO_TRIGGERED_BUFFER
334         help
335           Say yes here to build support for many Maxim i2c analog to digital
336           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
337           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
338           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
339           max11602, max11603, max11604, max11605, max11606, max11607,
340           max11608, max11609, max11610, max11611, max11612, max11613,
341           max11614, max11615, max11616, max11617, max11644, max11645,
342           max11646, max11647) Provides direct access via sysfs and buffered
343           data via the iio dev interface.
344
345           To compile this driver as a module, choose M here: the module will be
346           called max1363.
347
348 config MCP320X
349         tristate "Microchip Technology MCP3x01/02/04/08"
350         depends on SPI
351         help
352           Say yes here to build support for Microchip Technology's
353           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
354           MCP3208 or MCP3301 analog to digital converter.
355
356           This driver can also be built as a module. If so, the module will be
357           called mcp320x.
358
359 config MCP3422
360         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
361         depends on I2C
362         help
363           Say yes here to build support for Microchip Technology's MCP3421
364           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
365           analog to digital converters.
366
367           This driver can also be built as a module. If so, the module will be
368           called mcp3422.
369
370 config MEDIATEK_MT6577_AUXADC
371         tristate "MediaTek AUXADC driver"
372         depends on ARCH_MEDIATEK || COMPILE_TEST
373         depends on HAS_IOMEM
374         help
375           Say yes here to enable support for MediaTek mt65xx AUXADC.
376
377           The driver supports immediate mode operation to read from one of sixteen
378           channels (external or internal).
379
380           This driver can also be built as a module. If so, the module will be
381           called mt6577_auxadc.
382
383 config MEN_Z188_ADC
384         tristate "MEN 16z188 ADC IP Core support"
385         depends on MCB
386         help
387           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
388           carrier.
389
390           This driver can also be built as a module. If so, the module will be
391           called men_z188_adc.
392
393 config MXS_LRADC
394         tristate "Freescale i.MX23/i.MX28 LRADC"
395         depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
396         depends on INPUT
397         select STMP_DEVICE
398         select IIO_BUFFER
399         select IIO_TRIGGERED_BUFFER
400         help
401           Say yes here to build support for i.MX23/i.MX28 LRADC convertor
402           built into these chips.
403
404           To compile this driver as a module, choose M here: the
405           module will be called mxs-lradc.
406
407 config NAU7802
408         tristate "Nuvoton NAU7802 ADC driver"
409         depends on I2C
410         help
411           Say yes here to build support for Nuvoton NAU7802 ADC.
412
413           To compile this driver as a module, choose M here: the
414           module will be called nau7802.
415
416 config PALMAS_GPADC
417         tristate "TI Palmas General Purpose ADC"
418         depends on MFD_PALMAS
419         help
420           Palmas series pmic chip by Texas Instruments (twl6035/6037)
421           is used in smartphones and tablets and supports a 16 channel
422           general purpose ADC.
423
424 config QCOM_SPMI_IADC
425         tristate "Qualcomm SPMI PMIC current ADC"
426         depends on SPMI
427         select REGMAP_SPMI
428         help
429           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
430
431           The driver supports single mode operation to read from one of two
432           channels (external or internal). Hardware have additional
433           channels internally used for gain and offset calibration.
434
435           To compile this driver as a module, choose M here: the module will
436           be called qcom-spmi-iadc.
437
438 config QCOM_SPMI_VADC
439         tristate "Qualcomm SPMI PMIC voltage ADC"
440         depends on SPMI
441         select REGMAP_SPMI
442         help
443           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
444
445           The driver supports multiple channels read. The VADC is a 15-bit
446           sigma-delta ADC. Some of the channels are internally used for
447           calibration.
448
449           To compile this driver as a module, choose M here: the module will
450           be called qcom-spmi-vadc.
451
452 config ROCKCHIP_SARADC
453         tristate "Rockchip SARADC driver"
454         depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
455         depends on RESET_CONTROLLER
456         help
457           Say yes here to build support for the SARADC found in SoCs from
458           Rockchip.
459
460           To compile this driver as a module, choose M here: the
461           module will be called rockchip_saradc.
462
463 config STM32_ADC_CORE
464         tristate "STMicroelectronics STM32 adc core"
465         depends on ARCH_STM32 || COMPILE_TEST
466         depends on OF
467         depends on REGULATOR
468         help
469           Select this option to enable the core driver for STMicroelectronics
470           STM32 analog-to-digital converter (ADC).
471
472           This driver can also be built as a module.  If so, the module
473           will be called stm32-adc-core.
474
475 config STM32_ADC
476         tristate "STMicroelectronics STM32 adc"
477         depends on STM32_ADC_CORE
478         help
479           Say yes here to build support for STMicroelectronics stm32 Analog
480           to Digital Converter (ADC).
481
482           This driver can also be built as a module.  If so, the module
483           will be called stm32-adc.
484
485 config STX104
486         tristate "Apex Embedded Systems STX104 driver"
487         depends on X86 && ISA_BUS_API
488         select GPIOLIB
489         help
490           Say yes here to build support for the Apex Embedded Systems STX104
491           integrated analog PC/104 card.
492
493           This driver supports the 16 channels of single-ended (8 channels of
494           differential) analog inputs, 2 channels of analog output, 4 digital
495           inputs, and 4 digital outputs provided by the STX104.
496
497           The base port addresses for the devices may be configured via the base
498           array module parameter.
499
500 config TI_ADC081C
501         tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
502         depends on I2C
503         select IIO_BUFFER
504         select IIO_TRIGGERED_BUFFER
505         help
506           If you say yes here you get support for Texas Instruments ADC081C,
507           ADC101C and ADC121C ADC chips.
508
509           This driver can also be built as a module. If so, the module will be
510           called ti-adc081c.
511
512 config TI_ADC0832
513         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
514         depends on SPI
515         select IIO_BUFFER
516         select IIO_TRIGGERED_BUFFER
517         help
518           If you say yes here you get support for Texas Instruments ADC0831,
519           ADC0832, ADC0834, ADC0838 ADC chips.
520
521           This driver can also be built as a module. If so, the module will be
522           called ti-adc0832.
523
524 config TI_ADC12138
525         tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
526         depends on SPI
527         select IIO_BUFFER
528         select IIO_TRIGGERED_BUFFER
529         help
530           If you say yes here you get support for Texas Instruments ADC12130,
531           ADC12132 and ADC12138 chips.
532
533           This driver can also be built as a module. If so, the module will be
534           called ti-adc12138.
535
536 config TI_ADC128S052
537         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
538         depends on SPI
539         help
540           If you say yes here you get support for Texas Instruments ADC128S052,
541           ADC122S021 and ADC124S021 chips.
542
543           This driver can also be built as a module. If so, the module will be
544           called ti-adc128s052.
545
546 config TI_ADC161S626
547         tristate "Texas Instruments ADC161S626 1-channel differential ADC"
548         depends on SPI
549         select IIO_BUFFER
550         select IIO_TRIGGERED_BUFFER
551         help
552           If you say yes here you get support for Texas Instruments ADC141S626,
553           and ADC161S626 chips.
554
555           This driver can also be built as a module. If so, the module will be
556           called ti-adc161s626.
557
558 config TI_ADS1015
559         tristate "Texas Instruments ADS1015 ADC"
560         depends on I2C && !SENSORS_ADS1015
561         select REGMAP_I2C
562         select IIO_BUFFER
563         select IIO_TRIGGERED_BUFFER
564         help
565           If you say yes here you get support for Texas Instruments ADS1015
566           ADC chip.
567
568           This driver can also be built as a module. If so, the module will be
569           called ti-ads1015.
570
571 config TI_ADS7950
572         tristate "Texas Instruments ADS7950 ADC driver"
573         depends on SPI
574         select IIO_BUFFER
575         select IIO_TRIGGERED_BUFFER
576         help
577           Say yes here to build support for Texas Instruments ADS7950, ADS7951,
578           ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
579           ADS7960, ADS7961.
580
581           To compile this driver as a module, choose M here: the
582           module will be called ti-ads7950.
583
584 config TI_ADS8688
585         tristate "Texas Instruments ADS8688"
586         depends on SPI && OF
587         help
588           If you say yes here you get support for Texas Instruments ADS8684 and
589           and ADS8688 ADC chips
590
591           This driver can also be built as a module. If so, the module will be
592           called ti-ads8688.
593
594 config TI_AM335X_ADC
595         tristate "TI's AM335X ADC driver"
596         depends on MFD_TI_AM335X_TSCADC && HAS_DMA
597         select IIO_BUFFER
598         select IIO_KFIFO_BUF
599         help
600           Say yes here to build support for Texas Instruments ADC
601           driver which is also a MFD client.
602
603           To compile this driver as a module, choose M here: the module will be
604           called ti_am335x_adc.
605
606 config TWL4030_MADC
607         tristate "TWL4030 MADC (Monitoring A/D Converter)"
608         depends on TWL4030_CORE
609         help
610           This driver provides support for Triton TWL4030-MADC. The
611           driver supports both RT and SW conversion methods.
612
613           This driver can also be built as a module. If so, the module will be
614           called twl4030-madc.
615
616 config TWL6030_GPADC
617         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
618         depends on TWL4030_CORE
619         default n
620         help
621           Say yes here if you want support for the TWL6030/TWL6032 General
622           Purpose A/D Converter. This will add support for battery type
623           detection, battery voltage and temperature measurement, die
624           temperature measurement, system supply voltage, audio accessory,
625           USB ID detection.
626
627           This driver can also be built as a module. If so, the module will be
628           called twl6030-gpadc.
629
630 config VF610_ADC
631         tristate "Freescale vf610 ADC driver"
632         depends on OF
633         depends on HAS_IOMEM
634         select IIO_BUFFER
635         select IIO_TRIGGERED_BUFFER
636         help
637           Say yes here to support for Vybrid board analog-to-digital converter.
638           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
639
640           This driver can also be built as a module. If so, the module will be
641           called vf610_adc.
642
643 config VIPERBOARD_ADC
644         tristate "Viperboard ADC support"
645         depends on MFD_VIPERBOARD && USB
646         help
647           Say yes here to access the ADC part of the Nano River
648           Technologies Viperboard.
649
650           To compile this driver as a module, choose M here: the module will be
651           called viperboard_adc.
652
653 config XILINX_XADC
654         tristate "Xilinx XADC driver"
655         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
656         depends on HAS_IOMEM
657         select IIO_BUFFER
658         select IIO_TRIGGERED_BUFFER
659         help
660           Say yes here to have support for the Xilinx XADC. The driver does support
661           both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
662
663           The driver can also be build as a module. If so, the module will be called
664           xilinx-xadc.
665
666 endmenu