Merge tag 'mfd-next-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
[muen/linux.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 AD7124
14         tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver"
15         depends on SPI_MASTER
16         select AD_SIGMA_DELTA
17         help
18           Say yes here to build support for Analog Devices AD7124-4 and AD7124-8
19           SPI analog to digital converters (ADC).
20
21           To compile this driver as a module, choose M here: the module will be
22           called ad7124.
23
24 config AD7266
25         tristate "Analog Devices AD7265/AD7266 ADC driver"
26         depends on SPI_MASTER
27         select IIO_BUFFER
28         select IIO_TRIGGER
29         select IIO_TRIGGERED_BUFFER
30         help
31           Say yes here to build support for Analog Devices AD7265 and AD7266
32           ADCs.
33
34           To compile this driver as a module, choose M here: the module will be
35           called ad7266.
36
37 config AD7291
38         tristate "Analog Devices AD7291 ADC driver"
39         depends on I2C
40         help
41           Say yes here to build support for Analog Devices AD7291
42           8 Channel ADC with temperature sensor.
43
44           To compile this driver as a module, choose M here: the
45           module will be called ad7291.
46
47 config AD7298
48         tristate "Analog Devices AD7298 ADC driver"
49         depends on SPI
50         select IIO_BUFFER
51         select IIO_TRIGGERED_BUFFER
52         help
53           Say yes here to build support for Analog Devices AD7298
54           8 Channel ADC with temperature sensor.
55
56           To compile this driver as a module, choose M here: the
57           module will be called ad7298.
58
59 config AD7476
60         tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD an TI"
61         depends on SPI
62         select IIO_BUFFER
63         select IIO_TRIGGERED_BUFFER
64         help
65           Say yes here to build support for the following SPI analog to
66           digital converters (ADCs):
67           Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475,
68           AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910,
69           AD7920.
70           Texas Instruments: ADS7866, ADS7867, ADS7868.
71
72           To compile this driver as a module, choose M here: the
73           module will be called ad7476.
74
75 config AD7606
76         tristate
77         select IIO_BUFFER
78         select IIO_TRIGGERED_BUFFER
79
80 config AD7606_IFACE_PARALLEL
81         tristate "Analog Devices AD7606 ADC driver with parallel interface support"
82         depends on HAS_IOMEM
83         select AD7606
84         help
85           Say yes here to build parallel interface support for Analog Devices:
86           ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
87
88           To compile this driver as a module, choose M here: the
89           module will be called ad7606_parallel.
90
91 config AD7606_IFACE_SPI
92         tristate "Analog Devices AD7606 ADC driver with spi interface support"
93         depends on SPI
94         select AD7606
95         help
96           Say yes here to build spi interface support for Analog Devices:
97           ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
98
99           To compile this driver as a module, choose M here: the
100           module will be called ad7606_spi.
101
102 config AD7766
103         tristate "Analog Devices AD7766/AD7767 ADC driver"
104         depends on SPI_MASTER
105         select IIO_BUFFER
106         select IIO_TRIGGERED_BUFFER
107         help
108           Say yes here to build support for Analog Devices AD7766, AD7766-1,
109           AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.
110
111           To compile this driver as a module, choose M here: the module will be
112           called ad7766.
113
114 config AD7768_1
115         tristate "Analog Devices AD7768-1 ADC driver"
116         depends on SPI
117         select IIO_BUFFER
118         select IIO_TRIGGER
119         select IIO_TRIGGERED_BUFFER
120         help
121           Say yes here to build support for Analog Devices AD7768-1 SPI
122           simultaneously sampling sigma-delta analog to digital converter (ADC).
123
124           To compile this driver as a module, choose M here: the module will be
125           called ad7768-1.
126
127 config AD7791
128         tristate "Analog Devices AD7791 ADC driver"
129         depends on SPI
130         select AD_SIGMA_DELTA
131         help
132           Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
133           AD7790 and AD7791 SPI analog to digital converters (ADC).
134
135           To compile this driver as a module, choose M here: the module will be
136           called ad7791.
137
138 config AD7793
139         tristate "Analog Devices AD7793 and similar ADCs driver"
140         depends on SPI
141         select AD_SIGMA_DELTA
142         help
143           Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
144           AD7794 and AD7795 SPI analog to digital converters (ADC).
145
146           To compile this driver as a module, choose M here: the
147           module will be called AD7793.
148
149 config AD7887
150         tristate "Analog Devices AD7887 ADC driver"
151         depends on SPI
152         select IIO_BUFFER
153         select IIO_TRIGGERED_BUFFER
154         help
155           Say yes here to build support for Analog Devices
156           AD7887 SPI analog to digital converter (ADC).
157
158           To compile this driver as a module, choose M here: the
159           module will be called ad7887.
160
161 config AD7923
162         tristate "Analog Devices AD7923 and similar ADCs driver"
163         depends on SPI
164         select IIO_BUFFER
165         select IIO_TRIGGERED_BUFFER
166         help
167           Say yes here to build support for Analog Devices
168           AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
169
170           To compile this driver as a module, choose M here: the
171           module will be called ad7923.
172
173 config AD7949
174         tristate "Analog Devices AD7949 and similar ADCs driver"
175         depends on SPI
176         help
177           Say yes here to build support for Analog Devices
178           AD7949, AD7682, AD7689 8 Channel ADCs.
179
180           To compile this driver as a module, choose M here: the
181           module will be called ad7949.
182
183 config AD799X
184         tristate "Analog Devices AD799x ADC driver"
185         depends on I2C
186         select IIO_BUFFER
187         select IIO_TRIGGERED_BUFFER
188         help
189           Say yes here to build support for Analog Devices:
190           ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
191           i2c analog to digital converters (ADC). Provides direct access
192           via sysfs.
193
194           To compile this driver as a module, choose M here: the module will be
195           called ad799x.
196
197 config ASPEED_ADC
198         tristate "Aspeed ADC"
199         depends on ARCH_ASPEED || COMPILE_TEST
200         depends on COMMON_CLK
201         help
202           If you say yes here you get support for the ADC included in Aspeed
203           BMC SoCs.
204
205           To compile this driver as a module, choose M here: the module will be
206           called aspeed_adc.
207
208 config AT91_ADC
209         tristate "Atmel AT91 ADC"
210         depends on ARCH_AT91
211         depends on INPUT && SYSFS
212         select IIO_BUFFER
213         select IIO_TRIGGERED_BUFFER
214         help
215           Say yes here to build support for Atmel AT91 ADC.
216
217           To compile this driver as a module, choose M here: the module will be
218           called at91_adc.
219
220 config AT91_SAMA5D2_ADC
221         tristate "Atmel AT91 SAMA5D2 ADC"
222         depends on ARCH_AT91 || COMPILE_TEST
223         depends on HAS_IOMEM
224         select IIO_BUFFER
225         select IIO_TRIGGERED_BUFFER
226         help
227           Say yes here to build support for Atmel SAMA5D2 ADC which is
228           available on SAMA5D2 SoC family.
229
230           To compile this driver as a module, choose M here: the module will be
231           called at91-sama5d2_adc.
232
233 config AXP20X_ADC
234         tristate "X-Powers AXP20X and AXP22X ADC driver"
235         depends on MFD_AXP20X
236         help
237           Say yes here to have support for X-Powers power management IC (PMIC)
238           AXP20X and AXP22X ADC devices.
239
240           To compile this driver as a module, choose M here: the module will be
241           called axp20x_adc.
242
243 config AXP288_ADC
244         tristate "X-Powers AXP288 ADC driver"
245         depends on MFD_AXP20X
246         help
247           Say yes here to have support for X-Powers power management IC (PMIC) ADC
248           device. Depending on platform configuration, this general purpose ADC can
249           be used for sampling sensors such as thermal resistors.
250
251           To compile this driver as a module, choose M here: the module will be
252           called axp288_adc.
253
254 config BCM_IPROC_ADC
255         tristate "Broadcom IPROC ADC driver"
256         depends on ARCH_BCM_IPROC || COMPILE_TEST
257         depends on MFD_SYSCON
258         default ARCH_BCM_CYGNUS
259         help
260           Say Y here if you want to add support for the Broadcom static
261           ADC driver.
262
263           Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
264           channels. The driver allows the user to read voltage values.
265
266 config BERLIN2_ADC
267         tristate "Marvell Berlin2 ADC driver"
268         depends on ARCH_BERLIN
269         help
270           Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
271           temperature measurement.
272
273 config CC10001_ADC
274         tristate "Cosmic Circuits 10001 ADC driver"
275         depends on HAS_IOMEM && HAVE_CLK && REGULATOR
276         select IIO_BUFFER
277         select IIO_TRIGGERED_BUFFER
278         help
279           Say yes here to build support for Cosmic Circuits 10001 ADC.
280
281           This driver can also be built as a module. If so, the module will be
282           called cc10001_adc.
283
284 config CPCAP_ADC
285         tristate "Motorola CPCAP PMIC ADC driver"
286         depends on MFD_CPCAP
287         select IIO_BUFFER
288         select IIO_TRIGGERED_BUFFER
289         help
290           Say yes here to build support for Motorola CPCAP PMIC ADC.
291
292           This driver can also be built as a module. If so, the module will be
293           called cpcap-adc.
294
295 config DA9150_GPADC
296         tristate "Dialog DA9150 GPADC driver support"
297         depends on MFD_DA9150
298         help
299           Say yes here to build support for Dialog DA9150 GPADC.
300
301           This driver can also be built as a module. If chosen, the module name
302           will be da9150-gpadc.
303
304           To compile this driver as a module, choose M here: the module will be
305           called berlin2-adc.
306
307 config DLN2_ADC
308         tristate "Diolan DLN-2 ADC driver support"
309         depends on MFD_DLN2
310         select IIO_BUFFER
311         select IIO_TRIGGERED_BUFFER
312         help
313           Say yes here to build support for Diolan DLN-2 ADC.
314
315           This driver can also be built as a module. If so, the module will be
316           called adc_dln2.
317
318 config ENVELOPE_DETECTOR
319         tristate "Envelope detector using a DAC and a comparator"
320         depends on OF
321         help
322           Say yes here to build support for an envelope detector using a DAC
323           and a comparator.
324
325           To compile this driver as a module, choose M here: the module will be
326           called envelope-detector.
327
328 config EP93XX_ADC
329         tristate "Cirrus Logic EP93XX ADC driver"
330         depends on ARCH_EP93XX
331         help
332           Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
333           It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
334           case driver will reduce its CPU usage by 90% in some use cases.
335
336           To compile this driver as a module, choose M here: the module will be
337           called ep93xx_adc.
338
339 config EXYNOS_ADC
340         tristate "Exynos ADC driver support"
341         depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
342         depends on HAS_IOMEM
343         help
344           Core support for the ADC block found in the Samsung EXYNOS series
345           of SoCs for drivers such as the touchscreen and hwmon to use to share
346           this resource.
347
348           To compile this driver as a module, choose M here: the module will be
349           called exynos_adc.
350
351 config MXS_LRADC_ADC
352         tristate "Freescale i.MX23/i.MX28 LRADC ADC"
353         depends on MFD_MXS_LRADC
354         select IIO_BUFFER
355         select IIO_TRIGGERED_BUFFER
356         help
357           Say yes here to build support for the ADC functions of the
358           i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings,
359           battery voltage measurement, and die temperature measurement.
360
361           This driver can also be built as a module. If so, the module will be
362           called mxs-lradc-adc.
363
364 config FSL_MX25_ADC
365         tristate "Freescale MX25 ADC driver"
366         depends on MFD_MX25_TSADC
367         help
368           Generic Conversion Queue driver used for general purpose ADC in the
369           MX25. This driver supports single measurements using the MX25 ADC.
370
371 config HI8435
372         tristate "Holt Integrated Circuits HI-8435 threshold detector"
373         select IIO_TRIGGERED_EVENT
374         depends on SPI
375         help
376           If you say yes here you get support for Holt Integrated Circuits
377           HI-8435 chip.
378
379           This driver can also be built as a module. If so, the module will be
380           called hi8435.
381
382 config HX711
383         tristate "AVIA HX711 ADC for weight cells"
384         depends on GPIOLIB
385         select IIO_BUFFER
386         select IIO_TRIGGERED_BUFFER
387         help
388           If you say yes here you get support for AVIA HX711 ADC which is used
389           for weigh cells
390
391           This driver uses two GPIOs, one acts as the clock and controls the
392           channel selection and gain, the other one is used for the measurement
393           data
394
395           Currently the raw value is read from the chip and delivered.
396           To get an actual weight one needs to subtract the
397           zero offset and multiply by a scale factor.
398           This should be done in userspace.
399
400           This driver can also be built as a module. If so, the module will be
401           called hx711.
402
403 config INA2XX_ADC
404         tristate "Texas Instruments INA2xx Power Monitors IIO driver"
405         depends on I2C && !SENSORS_INA2XX
406         select REGMAP_I2C
407         select IIO_BUFFER
408         select IIO_KFIFO_BUF
409         help
410           Say yes here to build support for TI INA2xx family of Power Monitors.
411           This driver is mutually exclusive with the HWMON version.
412
413 config INGENIC_ADC
414         tristate "Ingenic JZ47xx SoCs ADC driver"
415         depends on MIPS || COMPILE_TEST
416         help
417           Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.
418
419           This driver can also be built as a module. If so, the module will be
420           called ingenic_adc.
421
422 config IMX7D_ADC
423         tristate "Freescale IMX7D ADC driver"
424         depends on ARCH_MXC || COMPILE_TEST
425         depends on HAS_IOMEM
426         help
427           Say yes here to build support for IMX7D ADC.
428
429           This driver can also be built as a module. If so, the module will be
430           called imx7d_adc.
431
432 config LP8788_ADC
433         tristate "LP8788 ADC driver"
434         depends on MFD_LP8788
435         help
436           Say yes here to build support for TI LP8788 ADC.
437
438           To compile this driver as a module, choose M here: the module will be
439           called lp8788_adc.
440
441 config LPC18XX_ADC
442         tristate "NXP LPC18xx ADC driver"
443         depends on ARCH_LPC18XX || COMPILE_TEST
444         depends on OF && HAS_IOMEM
445         help
446           Say yes here to build support for NXP LPC18XX ADC.
447
448           To compile this driver as a module, choose M here: the module will be
449           called lpc18xx_adc.
450
451 config LPC32XX_ADC
452         tristate "NXP LPC32XX ADC"
453         depends on ARCH_LPC32XX || COMPILE_TEST
454         depends on HAS_IOMEM
455         help
456           Say yes here to build support for the integrated ADC inside the
457           LPC32XX SoC. Note that this feature uses the same hardware as the
458           touchscreen driver, so you should either select only one of the two
459           drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case,
460           activate only one via device tree selection.  Provides direct access
461           via sysfs.
462
463 config LTC2471
464         tristate "Linear Technology LTC2471 and LTC2473 ADC driver"
465         depends on I2C
466         help
467           Say yes here to build support for Linear Technology LTC2471 and
468           LTC2473 16-bit I2C ADC.
469
470           This driver can also be built as a module. If so, the module will
471           be called ltc2471.
472
473 config LTC2485
474         tristate "Linear Technology LTC2485 ADC driver"
475         depends on I2C
476         help
477           Say yes here to build support for Linear Technology LTC2485 ADC.
478
479           To compile this driver as a module, choose M here: the module will be
480           called ltc2485.
481
482 config LTC2497
483         tristate "Linear Technology LTC2497 ADC driver"
484         depends on I2C
485         help
486           Say yes here to build support for Linear Technology LTC2497
487           16-Bit 8-/16-Channel Delta Sigma ADC.
488
489           To compile this driver as a module, choose M here: the module will be
490           called ltc2497.
491
492 config MAX1027
493         tristate "Maxim max1027 ADC driver"
494         depends on SPI
495         select IIO_BUFFER
496         select IIO_TRIGGERED_BUFFER
497         help
498           Say yes here to build support for Maxim SPI ADC models
499           max1027, max1029 and max1031.
500
501           To compile this driver as a module, choose M here: the module will be
502           called max1027.
503
504 config MAX11100
505         tristate "Maxim max11100 ADC driver"
506         depends on SPI_MASTER
507         help
508           Say yes here to build support for Maxim max11100 SPI ADC
509
510           To compile this driver as a module, choose M here: the module will be
511           called max11100.
512
513 config MAX1118
514         tristate "Maxim max1117/max1118/max1119 ADCs driver"
515         depends on SPI
516         select IIO_BUFFER
517         select IIO_TRIGGERED_BUFFER
518         help
519           Say yes here to build support for Maxim max1117/max1118/max1119
520           8-bit, dual-channel ADCs.
521
522           To compile this driver as a module, choose M here: the module will be
523           called max1118.
524
525 config MAX1363
526         tristate "Maxim max1363 ADC driver"
527         depends on I2C
528         select IIO_BUFFER
529         select IIO_TRIGGERED_BUFFER
530         help
531           Say yes here to build support for many Maxim i2c analog to digital
532           converters (ADC). (max1361, max1362, max1363, max1364, max1036,
533           max1037, max1038, max1039, max1136, max1136, max1137, max1138,
534           max1139, max1236, max1237, max11238, max1239, max11600, max11601,
535           max11602, max11603, max11604, max11605, max11606, max11607,
536           max11608, max11609, max11610, max11611, max11612, max11613,
537           max11614, max11615, max11616, max11617, max11644, max11645,
538           max11646, max11647) Provides direct access via sysfs and buffered
539           data via the iio dev interface.
540
541           To compile this driver as a module, choose M here: the module will be
542           called max1363.
543
544 config  MAX9611
545         tristate "Maxim max9611/max9612 ADC driver"
546         depends on I2C
547         help
548           Say yes here to build support for Maxim max9611/max9612 current sense
549           amplifier with 12-bits ADC interface.
550
551           To compile this driver as a module, choose M here: the module will be
552           called max9611.
553
554 config MCP320X
555         tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
556         depends on SPI
557         help
558           Say yes here to build support for Microchip Technology's
559           MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
560           MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
561           converters.
562
563           This driver can also be built as a module. If so, the module will be
564           called mcp320x.
565
566 config MCP3422
567         tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
568         depends on I2C
569         help
570           Say yes here to build support for Microchip Technology's MCP3421
571           MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
572           analog to digital converters.
573
574           This driver can also be built as a module. If so, the module will be
575           called mcp3422.
576
577 config MCP3911
578         tristate "Microchip Technology MCP3911 driver"
579         depends on SPI
580         help
581           Say yes here to build support for Microchip Technology's MCP3911
582           analog to digital converter.
583
584           This driver can also be built as a module. If so, the module will be
585           called mcp3911.
586
587 config MEDIATEK_MT6577_AUXADC
588         tristate "MediaTek AUXADC driver"
589         depends on ARCH_MEDIATEK || COMPILE_TEST
590         depends on HAS_IOMEM
591         help
592           Say yes here to enable support for MediaTek mt65xx AUXADC.
593
594           The driver supports immediate mode operation to read from one of sixteen
595           channels (external or internal).
596
597           This driver can also be built as a module. If so, the module will be
598           called mt6577_auxadc.
599
600 config MEN_Z188_ADC
601         tristate "MEN 16z188 ADC IP Core support"
602         depends on MCB
603         help
604           Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
605           carrier.
606
607           This driver can also be built as a module. If so, the module will be
608           called men_z188_adc.
609
610 config MESON_SARADC
611         tristate "Amlogic Meson SAR ADC driver"
612         default ARCH_MESON
613         depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
614         select REGMAP_MMIO
615         help
616           Say yes here to build support for the SAR ADC found in Amlogic Meson
617           SoCs.
618
619           To compile this driver as a module, choose M here: the
620           module will be called meson_saradc.
621
622 config NAU7802
623         tristate "Nuvoton NAU7802 ADC driver"
624         depends on I2C
625         help
626           Say yes here to build support for Nuvoton NAU7802 ADC.
627
628           To compile this driver as a module, choose M here: the
629           module will be called nau7802.
630
631 config NPCM_ADC
632         tristate "Nuvoton NPCM ADC driver"
633         depends on ARCH_NPCM || COMPILE_TEST
634         depends on HAS_IOMEM
635         help
636           Say yes here to build support for Nuvoton NPCM ADC.
637
638           This driver can also be built as a module. If so, the module
639           will be called npcm_adc.
640
641 config PALMAS_GPADC
642         tristate "TI Palmas General Purpose ADC"
643         depends on MFD_PALMAS
644         help
645           Palmas series pmic chip by Texas Instruments (twl6035/6037)
646           is used in smartphones and tablets and supports a 16 channel
647           general purpose ADC.
648
649 config QCOM_VADC_COMMON
650         tristate
651
652 config QCOM_PM8XXX_XOADC
653         tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
654         depends on MFD_PM8XXX
655         select QCOM_VADC_COMMON
656         help
657           ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
658           using SSBI transport: PM8018, PM8038, PM8058, PM8921.
659
660           To compile this driver as a module, choose M here: the module
661           will be called qcom-pm8xxx-xoadc.
662
663 config QCOM_SPMI_IADC
664         tristate "Qualcomm SPMI PMIC current ADC"
665         depends on SPMI
666         select REGMAP_SPMI
667         help
668           This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
669
670           The driver supports single mode operation to read from one of two
671           channels (external or internal). Hardware have additional
672           channels internally used for gain and offset calibration.
673
674           To compile this driver as a module, choose M here: the module will
675           be called qcom-spmi-iadc.
676
677 config QCOM_SPMI_VADC
678         tristate "Qualcomm SPMI PMIC voltage ADC"
679         depends on SPMI
680         select REGMAP_SPMI
681         select QCOM_VADC_COMMON
682         help
683           This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
684
685           The driver supports multiple channels read. The VADC is a 15-bit
686           sigma-delta ADC. Some of the channels are internally used for
687           calibration.
688
689           To compile this driver as a module, choose M here: the module will
690           be called qcom-spmi-vadc.
691
692 config QCOM_SPMI_ADC5
693         tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
694         depends on SPMI
695         select REGMAP_SPMI
696         select QCOM_VADC_COMMON
697         help
698           This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
699
700           The driver supports multiple channels read. The ADC is a 16-bit
701           sigma-delta ADC. The hardware supports calibrated results for
702           conversion requests and clients include reading voltage phone
703           power, on board system thermistors connected to the PMIC ADC,
704           PMIC die temperature, charger temperature, battery current, USB voltage
705           input, voltage signals connected to supported PMIC GPIO inputs. The
706           hardware supports internal pull-up for thermistors and can choose between
707           a 100k, 30k and 400k pull up using the ADC channels.
708
709           To compile this driver as a module, choose M here: the module will
710           be called qcom-spmi-adc5.
711
712 config RCAR_GYRO_ADC
713         tristate "Renesas R-Car GyroADC driver"
714         depends on ARCH_RCAR_GEN2 || COMPILE_TEST
715         help
716           Say yes here to build support for the GyroADC found in Renesas
717           R-Car Gen2 SoCs. This block is a simple SPI offload engine for
718           reading data out of attached compatible ADCs in a round-robin
719           fashion. Up to 4 or 8 ADC channels are supported by this block,
720           depending on which ADCs are attached.
721
722           To compile this driver as a module, choose M here: the
723           module will be called rcar-gyroadc.
724
725 config ROCKCHIP_SARADC
726         tristate "Rockchip SARADC driver"
727         depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
728         depends on RESET_CONTROLLER
729         help
730           Say yes here to build support for the SARADC found in SoCs from
731           Rockchip.
732
733           To compile this driver as a module, choose M here: the
734           module will be called rockchip_saradc.
735
736 config SC27XX_ADC
737         tristate "Spreadtrum SC27xx series PMICs ADC"
738         depends on MFD_SC27XX_PMIC || COMPILE_TEST
739         help
740           Say yes here to build support for the integrated ADC inside the
741           Spreadtrum SC27xx series PMICs.
742
743           This driver can also be built as a module. If so, the module
744           will be called sc27xx_adc.
745
746 config SPEAR_ADC
747         tristate "ST SPEAr ADC"
748         depends on PLAT_SPEAR || COMPILE_TEST
749         depends on HAS_IOMEM
750         help
751           Say yes here to build support for the integrated ADC inside the
752           ST SPEAr SoC. Provides direct access via sysfs.
753
754           To compile this driver as a module, choose M here: the
755           module will be called spear_adc.
756
757 config SD_ADC_MODULATOR
758         tristate "Generic sigma delta modulator"
759         depends on OF
760         select IIO_BUFFER
761         select IIO_TRIGGERED_BUFFER
762         help
763           Select this option to enables sigma delta modulator. This driver can
764           support generic sigma delta modulators.
765
766           This driver can also be built as a module.  If so, the module
767           will be called sd_adc_modulator.
768
769 config STM32_ADC_CORE
770         tristate "STMicroelectronics STM32 adc core"
771         depends on ARCH_STM32 || COMPILE_TEST
772         depends on OF
773         depends on REGULATOR
774         select IIO_BUFFER
775         select MFD_STM32_TIMERS
776         select IIO_STM32_TIMER_TRIGGER
777         select IIO_TRIGGERED_BUFFER
778         help
779           Select this option to enable the core driver for STMicroelectronics
780           STM32 analog-to-digital converter (ADC).
781
782           This driver can also be built as a module.  If so, the module
783           will be called stm32-adc-core.
784
785 config STM32_ADC
786         tristate "STMicroelectronics STM32 adc"
787         depends on STM32_ADC_CORE
788         help
789           Say yes here to build support for STMicroelectronics stm32 Analog
790           to Digital Converter (ADC).
791
792           This driver can also be built as a module.  If so, the module
793           will be called stm32-adc.
794
795 config STM32_DFSDM_CORE
796         tristate "STMicroelectronics STM32 DFSDM core"
797         depends on (ARCH_STM32 && OF) || COMPILE_TEST
798         select REGMAP
799         select REGMAP_MMIO
800         help
801           Select this option to enable the  driver for STMicroelectronics
802           STM32 digital filter for sigma delta converter.
803
804           This driver can also be built as a module.  If so, the module
805           will be called stm32-dfsdm-core.
806
807 config STM32_DFSDM_ADC
808         tristate "STMicroelectronics STM32 dfsdm adc"
809         depends on (ARCH_STM32 && OF) || COMPILE_TEST
810         select STM32_DFSDM_CORE
811         select REGMAP_MMIO
812         select IIO_BUFFER_HW_CONSUMER
813         help
814           Select this option to support ADCSigma delta modulator for
815           STMicroelectronics STM32 digital filter for sigma delta converter.
816
817           This driver can also be built as a module.  If so, the module
818           will be called stm32-dfsdm-adc.
819
820 config STMPE_ADC
821         tristate "STMicroelectronics STMPE ADC driver"
822         depends on OF && MFD_STMPE
823         help
824           Say yes here to build support for ST Microelectronics STMPE
825           built-in ADC block (stmpe811).
826
827 config STX104
828         tristate "Apex Embedded Systems STX104 driver"
829         depends on PC104 && X86
830         select ISA_BUS_API
831         select GPIOLIB
832         help
833           Say yes here to build support for the Apex Embedded Systems STX104
834           integrated analog PC/104 card.
835
836           This driver supports the 16 channels of single-ended (8 channels of
837           differential) analog inputs, 2 channels of analog output, 4 digital
838           inputs, and 4 digital outputs provided by the STX104.
839
840           The base port addresses for the devices may be configured via the base
841           array module parameter.
842
843 config SUN4I_GPADC
844         tristate "Support for the Allwinner SoCs GPADC"
845         depends on IIO
846         depends on MFD_SUN4I_GPADC || MACH_SUN8I
847         depends on THERMAL || !THERMAL_OF
848         select REGMAP_IRQ
849         help
850           Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
851           GPADC. This ADC provides 4 channels which can be used as an ADC or as
852           a touchscreen input and one channel for thermal sensor.
853
854           The thermal sensor slows down ADC readings and can be disabled by
855           disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
856           enabled by default since the SoC temperature is usually more critical
857           than ADC readings.
858
859           To compile this driver as a module, choose M here: the module will be
860           called sun4i-gpadc-iio.
861
862 config TI_ADC081C
863         tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
864         depends on I2C
865         select IIO_BUFFER
866         select IIO_TRIGGERED_BUFFER
867         help
868           If you say yes here you get support for Texas Instruments ADC081C,
869           ADC101C and ADC121C ADC chips.
870
871           This driver can also be built as a module. If so, the module will be
872           called ti-adc081c.
873
874 config TI_ADC0832
875         tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
876         depends on SPI
877         select IIO_BUFFER
878         select IIO_TRIGGERED_BUFFER
879         help
880           If you say yes here you get support for Texas Instruments ADC0831,
881           ADC0832, ADC0834, ADC0838 ADC chips.
882
883           This driver can also be built as a module. If so, the module will be
884           called ti-adc0832.
885
886 config TI_ADC084S021
887         tristate "Texas Instruments ADC084S021"
888         depends on SPI
889         select IIO_BUFFER
890         select IIO_TRIGGERED_BUFFER
891         help
892           If you say yes here you get support for Texas Instruments ADC084S021
893           chips.
894
895           This driver can also be built as a module. If so, the module will be
896           called ti-adc084s021.
897
898 config TI_ADC12138
899         tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
900         depends on SPI
901         select IIO_BUFFER
902         select IIO_TRIGGERED_BUFFER
903         help
904           If you say yes here you get support for Texas Instruments ADC12130,
905           ADC12132 and ADC12138 chips.
906
907           This driver can also be built as a module. If so, the module will be
908           called ti-adc12138.
909
910 config TI_ADC108S102
911         tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
912         depends on SPI
913         select IIO_BUFFER
914         select IIO_TRIGGERED_BUFFER
915         help
916           Say yes here to build support for Texas Instruments ADC108S102 and
917           ADC128S102 ADC.
918
919           To compile this driver as a module, choose M here: the module will
920           be called ti-adc108s102.
921
922 config TI_ADC128S052
923         tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
924         depends on SPI
925         help
926           If you say yes here you get support for Texas Instruments ADC128S052,
927           ADC122S021 and ADC124S021 chips.
928
929           This driver can also be built as a module. If so, the module will be
930           called ti-adc128s052.
931
932 config TI_ADC161S626
933         tristate "Texas Instruments ADC161S626 1-channel differential ADC"
934         depends on SPI
935         select IIO_BUFFER
936         select IIO_TRIGGERED_BUFFER
937         help
938           If you say yes here you get support for Texas Instruments ADC141S626,
939           and ADC161S626 chips.
940
941           This driver can also be built as a module. If so, the module will be
942           called ti-adc161s626.
943
944 config TI_ADS1015
945         tristate "Texas Instruments ADS1015 ADC"
946         depends on I2C && !SENSORS_ADS1015
947         select REGMAP_I2C
948         select IIO_BUFFER
949         select IIO_TRIGGERED_BUFFER
950         help
951           If you say yes here you get support for Texas Instruments ADS1015
952           ADC chip.
953
954           This driver can also be built as a module. If so, the module will be
955           called ti-ads1015.
956
957 config TI_ADS7950
958         tristate "Texas Instruments ADS7950 ADC driver"
959         depends on SPI
960         select IIO_BUFFER
961         select IIO_TRIGGERED_BUFFER
962         help
963           Say yes here to build support for Texas Instruments ADS7950, ADS7951,
964           ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
965           ADS7960, ADS7961.
966
967           To compile this driver as a module, choose M here: the
968           module will be called ti-ads7950.
969
970 config TI_ADS8688
971         tristate "Texas Instruments ADS8688"
972         depends on SPI && OF
973         help
974           If you say yes here you get support for Texas Instruments ADS8684 and
975           and ADS8688 ADC chips
976
977           This driver can also be built as a module. If so, the module will be
978           called ti-ads8688.
979
980 config TI_ADS124S08
981         tristate "Texas Instruments ADS124S08"
982         depends on SPI && OF
983         help
984           If you say yes here you get support for Texas Instruments ADS124S08
985           and ADS124S06 ADC chips
986
987           This driver can also be built as a module. If so, the module will be
988           called ti-ads124s08.
989
990 config TI_AM335X_ADC
991         tristate "TI's AM335X ADC driver"
992         depends on MFD_TI_AM335X_TSCADC && HAS_DMA
993         select IIO_BUFFER
994         select IIO_KFIFO_BUF
995         help
996           Say yes here to build support for Texas Instruments ADC
997           driver which is also a MFD client.
998
999           To compile this driver as a module, choose M here: the module will be
1000           called ti_am335x_adc.
1001
1002 config TI_TLC4541
1003         tristate "Texas Instruments TLC4541 ADC driver"
1004         depends on SPI
1005         select IIO_BUFFER
1006         select IIO_TRIGGERED_BUFFER
1007         help
1008           Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1009           ADC chips.
1010
1011           This driver can also be built as a module. If so, the module will be
1012           called ti-tlc4541.
1013
1014 config TWL4030_MADC
1015         tristate "TWL4030 MADC (Monitoring A/D Converter)"
1016         depends on TWL4030_CORE
1017         help
1018           This driver provides support for Triton TWL4030-MADC. The
1019           driver supports both RT and SW conversion methods.
1020
1021           This driver can also be built as a module. If so, the module will be
1022           called twl4030-madc.
1023
1024 config TWL6030_GPADC
1025         tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1026         depends on TWL4030_CORE
1027         default n
1028         help
1029           Say yes here if you want support for the TWL6030/TWL6032 General
1030           Purpose A/D Converter. This will add support for battery type
1031           detection, battery voltage and temperature measurement, die
1032           temperature measurement, system supply voltage, audio accessory,
1033           USB ID detection.
1034
1035           This driver can also be built as a module. If so, the module will be
1036           called twl6030-gpadc.
1037
1038 config VF610_ADC
1039         tristate "Freescale vf610 ADC driver"
1040         depends on OF
1041         depends on HAS_IOMEM
1042         select IIO_BUFFER
1043         select IIO_TRIGGERED_BUFFER
1044         help
1045           Say yes here to support for Vybrid board analog-to-digital converter.
1046           Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1047
1048           This driver can also be built as a module. If so, the module will be
1049           called vf610_adc.
1050
1051 config VIPERBOARD_ADC
1052         tristate "Viperboard ADC support"
1053         depends on MFD_VIPERBOARD && USB
1054         help
1055           Say yes here to access the ADC part of the Nano River
1056           Technologies Viperboard.
1057
1058           To compile this driver as a module, choose M here: the module will be
1059           called viperboard_adc.
1060
1061 config XILINX_XADC
1062         tristate "Xilinx XADC driver"
1063         depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
1064         depends on HAS_IOMEM
1065         select IIO_BUFFER
1066         select IIO_TRIGGERED_BUFFER
1067         help
1068           Say yes here to have support for the Xilinx XADC. The driver does support
1069           both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
1070
1071           The driver can also be build as a module. If so, the module will be called
1072           xilinx-xadc.
1073
1074 endmenu