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