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