xref: /linux/drivers/iio/adc/Kconfig (revision 23cc92280302d4e4f5f4253b6ff1dbeeb82a9464)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# ADC drivers
4#
5# When adding new entries keep the list in alphabetical order
6
7menu "Analog to digital converters"
8
9config IIO_ADC_HELPER
10	tristate
11
12config 88PM886_GPADC
13	tristate "Marvell 88PM886 GPADC driver"
14	depends on MFD_88PM886_PMIC
15	default MFD_88PM886_PMIC
16	help
17	  Say Y here to enable support for the GPADC (General Purpose ADC)
18	  found on the Marvell 88PM886 PMIC. The GPADC measures various
19	  internal voltages and temperatures, including (but not limited to)
20	  system, battery and USB Vbus.
21
22	  To compile this driver as a module, choose M here: the module will be
23	  called 88pm886-gpadc.
24
25config AB8500_GPADC
26	bool "ST-Ericsson AB8500 GPADC driver"
27	depends on AB8500_CORE && REGULATOR_AB8500
28	default y
29	help
30	  AB8500 Analog Baseband, mixed signal integrated circuit GPADC
31	  (General Purpose Analog to Digital Converter) driver used to monitor
32	  internal voltages, convert accessory and battery, AC (charger, mains)
33	  and USB voltages integral to the U8500 platform.
34
35config AD_SIGMA_DELTA
36	tristate
37	select IIO_BUFFER
38	select IIO_BUFFER_DMAENGINE
39	select IIO_TRIGGERED_BUFFER
40	select SPI_OFFLOAD
41
42config AD4000
43	tristate "Analog Devices AD4000 ADC Driver"
44	depends on SPI
45	select IIO_BUFFER
46	select IIO_BUFFER_DMAENGINE
47	select IIO_TRIGGERED_BUFFER
48	select SPI_OFFLOAD
49	help
50	  Say yes here to build support for Analog Devices AD4000 high speed
51	  SPI analog to digital converters (ADC). If intended to use with
52	  SPI offloading support, it is recommended to enable
53	  CONFIG_SPI_AXI_SPI_ENGINE, CONFIG_PWM_AXI_PWMGEN, and
54	  CONFIG_SPI_OFFLOAD_TRIGGER_PWM.
55
56	  To compile this driver as a module, choose M here: the module will be
57	  called ad4000.
58
59config AD4030
60	tristate "Analog Devices AD4030 ADC Driver"
61	depends on SPI
62	depends on GPIOLIB
63	select REGMAP
64	select IIO_BUFFER
65	select IIO_TRIGGERED_BUFFER
66	help
67	  Say yes here to build support for Analog Devices AD4030 and AD4630 high speed
68	  SPI analog to digital converters (ADC).
69
70	  To compile this driver as a module, choose M here: the module will be
71	  called ad4030.
72
73config AD4062
74	tristate "Analog Devices AD4062 Driver"
75	depends on I3C
76	select REGMAP_I3C
77	select IIO_BUFFER
78	select IIO_TRIGGERED_BUFFER
79	help
80	  Say yes here to build support for Analog Devices AD4062 I3C analog
81	  to digital converters (ADC).
82
83	  To compile this driver as a module, choose M here: the module will be
84	  called ad4062.
85
86config AD4080
87	tristate "Analog Devices AD4080 high speed ADC"
88	depends on SPI
89	select REGMAP_SPI
90	select IIO_BACKEND
91	help
92	  Say yes here to build support for Analog Devices AD4080
93	  high speed, low noise, low distortion, 20-bit, Easy Drive,
94	  successive approximation register (SAR) analog-to-digital
95	  converter (ADC). Supports iio_backended devices for AD4080.
96
97	  To compile this driver as a module, choose M here: the module will be
98	  called ad4080.
99
100config AD4130
101	tristate "Analog Device AD4130 ADC Driver"
102	depends on SPI
103	depends on GPIOLIB
104	select IIO_BUFFER
105	select IIO_KFIFO_BUF
106	select REGMAP_SPI
107	depends on COMMON_CLK
108	help
109	  Say yes here to build support for Analog Devices AD4130-8 SPI analog
110	  to digital converters (ADC).
111
112	  To compile this driver as a module, choose M here: the module will be
113	  called ad4130.
114
115
116config AD4170_4
117	tristate "Analog Device AD4170-4 ADC Driver"
118	depends on SPI
119	select REGMAP_SPI
120	select IIO_BUFFER
121	select IIO_TRIGGERED_BUFFER
122	depends on COMMON_CLK
123	depends on GPIOLIB
124	help
125	  Say yes here to build support for Analog Devices AD4170-4 SPI analog
126	  to digital converters (ADC).
127
128	  To compile this driver as a module, choose M here: the module will be
129	  called ad4170-4.
130
131config AD4695
132	tristate "Analog Device AD4695 ADC Driver"
133	depends on SPI
134	select IIO_BUFFER
135	select IIO_BUFFER_DMAENGINE
136	select IIO_TRIGGERED_BUFFER
137	select REGMAP
138	select SPI_OFFLOAD
139	help
140	  Say yes here to build support for Analog Devices AD4695 and similar
141	  analog to digital converters (ADC).
142
143	  To compile this driver as a module, choose M here: the module will be
144	  called ad4695.
145
146config AD4851
147	tristate "Analog Device AD4851 DAS Driver"
148	depends on SPI
149	depends on PWM
150	select REGMAP_SPI
151	select IIO_BACKEND
152	help
153	  Say yes here to build support for Analog Devices AD4851, AD4852,
154	  AD4853, AD4854, AD4855, AD4856, AD4857, AD4858, AD4858I high speed
155	  data acquisition system (DAS).
156
157	  To compile this driver as a module, choose M here: the module will be
158	  called ad4851.
159
160config AD7091R
161	tristate
162
163config AD7091R5
164	tristate "Analog Devices AD7091R5 ADC Driver"
165	depends on I2C
166	select AD7091R
167	select REGMAP_I2C
168	help
169	  Say yes here to build support for Analog Devices AD7091R-5 ADC.
170
171config AD7091R8
172	tristate "Analog Devices AD7091R8 ADC Driver"
173	depends on SPI
174	select AD7091R
175	select REGMAP_SPI
176	help
177	  Say yes here to build support for Analog Devices AD7091R-2, AD7091R-4,
178	  and AD7091R-8 ADC.
179
180	  To compile this driver as a module, choose M here: the module will be
181	  called ad7091r8.
182
183config AD7124
184	tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver"
185	depends on SPI_MASTER
186	select AD_SIGMA_DELTA
187	help
188	  Say yes here to build support for Analog Devices AD7124-4 and AD7124-8
189	  SPI analog to digital converters (ADC).
190
191	  To compile this driver as a module, choose M here: the module will be
192	  called ad7124.
193
194config AD7173
195	tristate "Analog Devices AD7173 driver"
196	depends on SPI_MASTER
197	select AD_SIGMA_DELTA
198	select GPIOLIB
199	select GPIO_REGMAP
200	select REGMAP_SPI
201	help
202	  Say yes here to build support for Analog Devices AD7173 and similar ADC
203	  Currently supported models:
204	   - AD7172-2
205	   - AD7173-8
206	   - AD7175-2
207	   - AD7176-2
208
209	  To compile this driver as a module, choose M here: the module will be
210	  called ad7173.
211
212config AD7191
213	tristate "Analog Devices AD7191 ADC driver"
214	depends on SPI
215	select AD_SIGMA_DELTA
216	help
217	  Say yes here to build support for Analog Devices AD7191.
218
219	  To compile this driver as a module, choose M here: the
220	  module will be called ad7191.
221
222config AD7192
223	tristate "Analog Devices AD7192 and similar ADC driver"
224	depends on SPI
225	select AD_SIGMA_DELTA
226	help
227	  Say yes here to build support for Analog Devices SPI analog to digital
228	  converters (ADC):
229	  - AD7190
230	  - AD7192
231	  - AD7193
232	  - AD7194
233	  - AD7195
234	  If unsure, say N (but it's safe to say "Y").
235
236	  To compile this driver as a module, choose M here: the
237	  module will be called ad7192.
238
239config AD7266
240	tristate "Analog Devices AD7265/AD7266 ADC driver"
241	depends on SPI_MASTER
242	select IIO_BUFFER
243	select IIO_TRIGGER
244	select IIO_TRIGGERED_BUFFER
245	help
246	  Say yes here to build support for Analog Devices AD7265 and AD7266
247	  ADCs.
248
249	  To compile this driver as a module, choose M here: the module will be
250	  called ad7266.
251
252config AD7280
253	tristate "Analog Devices AD7280A Lithium Ion Battery Monitoring System"
254	depends on SPI
255	select CRC8
256	help
257	  Say yes here to build support for Analog Devices AD7280A
258	  Lithium Ion Battery Monitoring System.
259
260	  To compile this driver as a module, choose M here: the
261	  module will be called ad7280a
262
263config AD7291
264	tristate "Analog Devices AD7291 ADC driver"
265	depends on I2C
266	help
267	  Say yes here to build support for Analog Devices AD7291
268	  8 Channel ADC with temperature sensor.
269
270	  To compile this driver as a module, choose M here: the
271	  module will be called ad7291.
272
273config AD7292
274	tristate "Analog Devices AD7292 ADC driver"
275	depends on SPI
276	help
277	  Say yes here to build support for Analog Devices AD7292
278	  8 Channel ADC with temperature sensor.
279
280	  To compile this driver as a module, choose M here: the
281	  module will be called ad7292.
282
283config AD7298
284	tristate "Analog Devices AD7298 ADC driver"
285	depends on SPI
286	select IIO_BUFFER
287	select IIO_TRIGGERED_BUFFER
288	help
289	  Say yes here to build support for Analog Devices AD7298
290	  8 Channel ADC with temperature sensor.
291
292	  To compile this driver as a module, choose M here: the
293	  module will be called ad7298.
294
295config AD7380
296	tristate "Analog Devices AD7380 ADC driver"
297	depends on SPI_MASTER
298	select SPI_OFFLOAD
299	select IIO_BUFFER
300	select IIO_BUFFER_DMAENGINE
301	select IIO_TRIGGER
302	select IIO_TRIGGERED_BUFFER
303	help
304	  AD7380 is a family of simultaneous sampling ADCs that share the same
305	  SPI register map and have similar pinouts.
306
307	  Say yes here to build support for Analog Devices AD7380 ADC and
308	  similar chips.
309
310	  To compile this driver as a module, choose M here: the module will be
311	  called ad7380.
312
313config AD7405
314	tristate "Analog Device AD7405 ADC Driver"
315	depends on IIO_BACKEND
316	help
317	  Say yes here to build support for Analog Devices AD7405, ADUM7701,
318	  ADUM7702, ADUM7703 analog to digital converters (ADC).
319
320	  To compile this driver as a module, choose M here: the module will be
321	  called ad7405.
322
323config AD7476
324	tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD and TI"
325	depends on SPI
326	select IIO_BUFFER
327	select IIO_TRIGGERED_BUFFER
328	help
329	  Say yes here to build support for the following SPI analog to
330	  digital converters (ADCs):
331	  Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475,
332	  AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910,
333	  AD7920.
334	  Texas Instruments: ADS7866, ADS7867, ADS7868.
335
336	  To compile this driver as a module, choose M here: the
337	  module will be called ad7476.
338
339config AD7606
340	tristate
341	select IIO_BUFFER
342	select IIO_TRIGGERED_BUFFER
343
344config AD7606_IFACE_PARALLEL
345	tristate "Analog Devices AD7606 ADC driver with parallel interface support"
346	depends on HAS_IOPORT
347	select AD7606
348	select IIO_BACKEND
349	help
350	  Say yes here to build parallel interface support for Analog Devices:
351	  ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
352	  It also support iio_backended devices for AD7606B.
353
354	  To compile this driver as a module, choose M here: the
355	  module will be called ad7606_par.
356
357config AD7606_IFACE_SPI
358	tristate "Analog Devices AD7606 ADC driver with spi interface support"
359	depends on SPI
360	select AD7606
361	select IIO_BUFFER_DMAENGINE
362	select SPI_OFFLOAD
363	help
364	  Say yes here to build spi interface support for Analog Devices:
365	  ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC).
366
367	  To compile this driver as a module, choose M here: the
368	  module will be called ad7606_spi.
369
370config AD7625
371	tristate "Analog Devices AD7625/AD7626 High Speed ADC driver"
372	depends on PWM
373	select IIO_BACKEND
374	help
375	  Say yes here to build support for Analog Devices:
376	  * AD7625 16-Bit, 6 MSPS PulSAR Analog-to-Digital Converter
377	  * AD7626 16-Bit, 10 MSPS PulSAR Analog-to-Digital Converter
378	  * AD7960 18-Bit, 5 MSPS PulSAR Analog-to-Digital Converter
379	  * AD7961 16-Bit, 5 MSPS PulSAR Analog-to-Digital Converter
380
381	  The driver requires the assistance of the AXI ADC IP core to operate.
382
383	  To compile this driver as a module, choose M here: the module will be
384	  called ad7625.
385
386config AD7766
387	tristate "Analog Devices AD7766/AD7767 ADC driver"
388	depends on SPI_MASTER
389	select IIO_BUFFER
390	select IIO_TRIGGERED_BUFFER
391	help
392	  Say yes here to build support for Analog Devices AD7766, AD7766-1,
393	  AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters.
394
395	  To compile this driver as a module, choose M here: the module will be
396	  called ad7766.
397
398config AD7768_1
399	tristate "Analog Devices AD7768-1 ADC driver"
400	depends on SPI
401	select REGULATOR
402	select REGMAP_SPI
403	select IIO_BUFFER
404	select IIO_TRIGGER
405	select IIO_TRIGGERED_BUFFER
406	help
407	  Say yes here to build support for Analog Devices AD7768-1 SPI
408	  simultaneously sampling sigma-delta analog to digital converter (ADC).
409
410	  To compile this driver as a module, choose M here: the module will be
411	  called ad7768-1.
412
413config AD7779
414	tristate "Analog Devices AD7779 ADC driver"
415	depends on SPI
416	select CRC8
417	select IIO_BUFFER
418	select IIO_BACKEND
419	help
420	  Say yes here to build support for Analog Devices AD777X family
421	  (AD7770, AD7771, AD7779) analog to digital converter (ADC).
422
423	  To compile this driver as a module, choose M here: the module will be
424	  called ad7779.
425
426config AD7780
427	tristate "Analog Devices AD7780 and similar ADCs driver"
428	depends on SPI
429	depends on GPIOLIB || COMPILE_TEST
430	select AD_SIGMA_DELTA
431	help
432	  Say yes here to build support for Analog Devices AD7170, AD7171,
433	  AD7780 and AD7781 SPI analog to digital converters (ADC).
434
435	  To compile this driver as a module, choose M here: the
436	  module will be called ad7780.
437
438config AD7791
439	tristate "Analog Devices AD7791 ADC driver"
440	depends on SPI
441	select AD_SIGMA_DELTA
442	help
443	  Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
444	  AD7790 and AD7791 SPI analog to digital converters (ADC).
445
446	  To compile this driver as a module, choose M here: the module will be
447	  called ad7791.
448
449config AD7793
450	tristate "Analog Devices AD7793 and similar ADCs driver"
451	depends on SPI
452	select AD_SIGMA_DELTA
453	help
454	  Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
455	  AD7794 and AD7795 SPI analog to digital converters (ADC).
456
457	  To compile this driver as a module, choose M here: the
458	  module will be called AD7793.
459
460config AD7887
461	tristate "Analog Devices AD7887 ADC driver"
462	depends on SPI
463	select IIO_BUFFER
464	select IIO_TRIGGERED_BUFFER
465	help
466	  Say yes here to build support for Analog Devices
467	  AD7887 SPI analog to digital converter (ADC).
468
469	  To compile this driver as a module, choose M here: the
470	  module will be called ad7887.
471
472config AD7923
473	tristate "Analog Devices AD7923 and similar ADCs driver"
474	depends on SPI
475	select IIO_BUFFER
476	select IIO_TRIGGERED_BUFFER
477	help
478	  Say yes here to build support for Analog Devices
479	  AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
480
481	  To compile this driver as a module, choose M here: the
482	  module will be called ad7923.
483
484config AD7944
485	tristate "Analog Devices AD7944 and similar ADCs driver"
486	depends on SPI
487	select SPI_OFFLOAD
488	select IIO_BUFFER
489	select IIO_BUFFER_DMAENGINE
490	select IIO_TRIGGERED_BUFFER
491	help
492	  Say yes here to build support for Analog Devices
493	  AD7944, AD7985, AD7986 ADCs.
494
495	  To compile this driver as a module, choose M here: the
496	  module will be called ad7944
497
498config AD7949
499	tristate "Analog Devices AD7949 and similar ADCs driver"
500	depends on SPI
501	help
502	  Say yes here to build support for Analog Devices
503	  AD7949, AD7682, AD7689 8 Channel ADCs.
504
505	  To compile this driver as a module, choose M here: the
506	  module will be called ad7949.
507
508config AD799X
509	tristate "Analog Devices AD799x ADC driver"
510	depends on I2C
511	select IIO_BUFFER
512	select IIO_TRIGGERED_BUFFER
513	help
514	  Say yes here to build support for Analog Devices:
515	  ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
516	  i2c analog to digital converters (ADC). Provides direct access
517	  via sysfs.
518
519	  To compile this driver as a module, choose M here: the module will be
520	  called ad799x.
521
522config AD9467
523	tristate "Analog Devices AD9467 High Speed ADC driver"
524	depends on SPI
525	select IIO_BACKEND
526	help
527	  Say yes here to build support for Analog Devices:
528	  * AD9467 16-Bit, 200 MSPS/250 MSPS Analog-to-Digital Converter
529
530	  The driver requires the assistance of the AXI ADC IP core to operate,
531	  since SPI is used for configuration only, while data has to be
532	  streamed into memory via DMA.
533
534	  To compile this driver as a module, choose M here: the module will be
535	  called ad9467.
536
537config ADE9000
538	tristate "Analog Devices ADE9000 Multiphase Energy, and Power Quality Monitoring IC Driver"
539	depends on SPI
540	select REGMAP_SPI
541	select IIO_BUFFER
542	select IIO_KFIFO_BUF
543	help
544	  Say yes here to build support for the Analog Devices ADE9000,
545	  a highly accurate, multiphase energy and power quality monitoring
546	  integrated circuit.
547
548	  The device features high-precision analog-to-digital converters
549	  and digital signal processing to compute RMS values, power factor,
550	  frequency, and harmonic analysis. It supports SPI communication
551	  and provides buffered data output through the IIO framework.
552
553	  To compile this driver as a module, choose M here: the module will
554	  be called ade9000.
555
556config ADI_AXI_ADC
557	tristate "Analog Devices Generic AXI ADC IP core driver"
558	depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST
559	select IIO_BUFFER
560	select IIO_BUFFER_HW_CONSUMER
561	select IIO_BUFFER_DMAENGINE
562	select REGMAP_MMIO
563	select IIO_BACKEND
564	help
565	  Say yes here to build support for Analog Devices Generic
566	  AXI ADC IP core. The IP core is used for interfacing with
567	  analog-to-digital (ADC) converters that require either a high-speed
568	  serial interface (JESD204B/C) or a source synchronous parallel
569	  interface (LVDS/CMOS).
570	  Typically (for such devices) SPI will be used for configuration only,
571	  while this IP core handles the streaming of data into memory via DMA.
572
573	  Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip
574	  If unsure, say N (but it's safe to say "Y").
575
576	  To compile this driver as a module, choose M here: the
577	  module will be called adi-axi-adc.
578
579config ASPEED_ADC
580	tristate "Aspeed ADC"
581	depends on ARCH_ASPEED || COMPILE_TEST
582	depends on COMMON_CLK
583	help
584	  If you say yes here you get support for the ADC included in Aspeed
585	  BMC SoCs.
586
587	  To compile this driver as a module, choose M here: the module will be
588	  called aspeed_adc.
589
590config AT91_ADC
591	tristate "Atmel AT91 ADC"
592	depends on ARCH_AT91 || COMPILE_TEST
593	depends on INPUT && SYSFS && OF
594	select IIO_BUFFER
595	select IIO_TRIGGERED_BUFFER
596	help
597	  Say yes here to build support for Atmel AT91 ADC.
598
599	  To compile this driver as a module, choose M here: the module will be
600	  called at91_adc.
601
602config AT91_SAMA5D2_ADC
603	tristate "Atmel AT91 SAMA5D2 ADC"
604	depends on ARCH_AT91 || COMPILE_TEST
605	depends on HAS_IOMEM
606	select IIO_BUFFER
607	select IIO_TRIGGERED_BUFFER
608	help
609	  Say yes here to build support for Atmel SAMA5D2 ADC which is
610	  available on SAMA5D2 SoC family.
611
612	  To compile this driver as a module, choose M here: the module will be
613	  called at91-sama5d2_adc.
614
615config AXP20X_ADC
616	tristate "X-Powers AXP20X and AXP22X ADC driver"
617	depends on MFD_AXP20X
618	help
619	  Say yes here to have support for X-Powers power management IC (PMIC)
620	  AXP20X and AXP22X ADC devices.
621
622	  To compile this driver as a module, choose M here: the module will be
623	  called axp20x_adc.
624
625config AXP288_ADC
626	tristate "X-Powers AXP288 ADC driver"
627	depends on MFD_AXP20X
628	help
629	  Say yes here to have support for X-Powers power management IC (PMIC) ADC
630	  device. Depending on platform configuration, this general purpose ADC can
631	  be used for sampling sensors such as thermal resistors.
632
633	  To compile this driver as a module, choose M here: the module will be
634	  called axp288_adc.
635
636config BCM_IPROC_ADC
637	tristate "Broadcom IPROC ADC driver"
638	depends on (ARCH_BCM_IPROC && OF) || COMPILE_TEST
639	depends on MFD_SYSCON
640	default ARCH_BCM_CYGNUS
641	help
642	  Say Y here if you want to add support for the Broadcom static
643	  ADC driver.
644
645	  Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
646	  channels. The driver allows the user to read voltage values.
647
648config BERLIN2_ADC
649	tristate "Marvell Berlin2 ADC driver"
650	depends on ARCH_BERLIN || COMPILE_TEST
651	help
652	  Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
653	  temperature measurement.
654
655config CC10001_ADC
656	tristate "Cosmic Circuits 10001 ADC driver"
657	depends on HAS_IOMEM && HAVE_CLK && REGULATOR
658	select IIO_BUFFER
659	select IIO_TRIGGERED_BUFFER
660	help
661	  Say yes here to build support for Cosmic Circuits 10001 ADC.
662
663	  This driver can also be built as a module. If so, the module will be
664	  called cc10001_adc.
665
666config CPCAP_ADC
667	tristate "Motorola CPCAP PMIC ADC driver"
668	depends on MFD_CPCAP
669	select IIO_BUFFER
670	select IIO_TRIGGERED_BUFFER
671	help
672	  Say yes here to build support for Motorola CPCAP PMIC ADC.
673
674	  This driver can also be built as a module. If so, the module will be
675	  called cpcap-adc.
676
677config DA9150_GPADC
678	tristate "Dialog DA9150 GPADC driver support"
679	depends on MFD_DA9150
680	help
681	  Say yes here to build support for Dialog DA9150 GPADC.
682
683	  This driver can also be built as a module. If chosen, the module name
684	  will be da9150-gpadc.
685
686	  To compile this driver as a module, choose M here: the module will be
687	  called berlin2-adc.
688
689config DLN2_ADC
690	tristate "Diolan DLN-2 ADC driver support"
691	depends on MFD_DLN2
692	select IIO_BUFFER
693	select IIO_TRIGGERED_BUFFER
694	help
695	  Say yes here to build support for Diolan DLN-2 ADC.
696
697	  This driver can also be built as a module. If so, the module will be
698	  called adc_dln2.
699
700config ENVELOPE_DETECTOR
701	tristate "Envelope detector using a DAC and a comparator"
702	help
703	  Say yes here to build support for an envelope detector using a DAC
704	  and a comparator.
705
706	  To compile this driver as a module, choose M here: the module will be
707	  called envelope-detector.
708
709config EP93XX_ADC
710	tristate "Cirrus Logic EP93XX ADC driver"
711	depends on ARCH_EP93XX || COMPILE_TEST
712	depends on HAS_IOMEM
713	help
714	  Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
715	  It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
716	  case driver will reduce its CPU usage by 90% in some use cases.
717
718	  To compile this driver as a module, choose M here: the module will be
719	  called ep93xx_adc.
720
721config EXYNOS_ADC
722	tristate "Exynos ADC driver support"
723	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
724	depends on HAS_IOMEM
725	help
726	  Driver for the ADC block found in the Samsung S3C6410, S5Pv210 and
727	  Exynos SoCs.
728	  Choose Y here only if you build for such Samsung SoC.
729
730	  To compile this driver as a module, choose M here: the module will be
731	  called exynos_adc.
732
733config MXS_LRADC_ADC
734	tristate "Freescale i.MX23/i.MX28 LRADC ADC"
735	depends on MFD_MXS_LRADC
736	select IIO_BUFFER
737	select IIO_TRIGGERED_BUFFER
738	help
739	  Say yes here to build support for the ADC functions of the
740	  i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings,
741	  battery voltage measurement, and die temperature measurement.
742
743	  This driver can also be built as a module. If so, the module will be
744	  called mxs-lradc-adc.
745
746config FSL_MX25_ADC
747	tristate "Freescale MX25 ADC driver"
748	depends on MFD_MX25_TSADC
749	help
750	  Generic Conversion Queue driver used for general purpose ADC in the
751	  MX25. This driver supports single measurements using the MX25 ADC.
752
753config GEHC_PMC_ADC
754	tristate "GE HealthCare PMC ADC driver"
755	depends on I2C
756	help
757	  Say yes here to build support for the GE HealthCare PMC 16-bit
758	  16-Channel ADC.
759
760	  To compile this driver as a module, choose M here: the module will be
761	  called gehc-pmc-adc.
762
763config HI8435
764	tristate "Holt Integrated Circuits HI-8435 threshold detector"
765	select IIO_TRIGGERED_EVENT
766	depends on SPI
767	help
768	  If you say yes here you get support for Holt Integrated Circuits
769	  HI-8435 chip.
770
771	  This driver can also be built as a module. If so, the module will be
772	  called hi8435.
773
774config HX711
775	tristate "AVIA HX711 ADC for weight cells"
776	depends on GPIOLIB
777	select IIO_BUFFER
778	select IIO_TRIGGERED_BUFFER
779	help
780	  If you say yes here you get support for AVIA HX711 ADC which is used
781	  for weigh cells
782
783	  This driver uses two GPIOs, one acts as the clock and controls the
784	  channel selection and gain, the other one is used for the measurement
785	  data
786
787	  Currently the raw value is read from the chip and delivered.
788	  To get an actual weight one needs to subtract the
789	  zero offset and multiply by a scale factor.
790	  This should be done in userspace.
791
792	  This driver can also be built as a module. If so, the module will be
793	  called hx711.
794
795config INA2XX_ADC
796	tristate "Texas Instruments INA2xx Power Monitors IIO driver"
797	depends on I2C && !SENSORS_INA2XX
798	select REGMAP_I2C
799	select IIO_BUFFER
800	select IIO_KFIFO_BUF
801	help
802	  Say yes here to build support for TI INA2xx family of Power Monitors.
803	  This driver is mutually exclusive with the HWMON version.
804
805config INGENIC_ADC
806	tristate "Ingenic JZ47xx SoCs ADC driver"
807	depends on MIPS || COMPILE_TEST
808	select IIO_BUFFER
809	help
810	  Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.
811
812	  This driver can also be built as a module. If so, the module will be
813	  called ingenic_adc.
814
815config INTEL_DC_TI_ADC
816	tristate "Intel Bay Trail / Cherry Trail Dollar Cove TI ADC driver"
817	depends on INTEL_SOC_PMIC_CHTDC_TI
818	help
819	  Say yes here to have support for the Dollar Cove TI PMIC ADC device.
820	  Depending on platform configuration, this general purpose ADC can be
821	  used for sensors such as battery voltage and thermal resistors.
822
823	  To compile this driver as a module, choose M here: the module will be
824	  called intel_dc_ti_adc.
825
826config INTEL_MRFLD_ADC
827	tristate "Intel Merrifield Basin Cove ADC driver"
828	depends on INTEL_SOC_PMIC_MRFLD
829	help
830	  Say yes here to have support for Basin Cove power management IC (PMIC) ADC
831	  device. Depending on platform configuration, this general purpose ADC can
832	  be used for sampling sensors such as thermal resistors.
833
834	  To compile this driver as a module, choose M here: the module will be
835	  called intel_mrfld_adc.
836
837config IMX7D_ADC
838	tristate "Freescale IMX7D ADC driver"
839	depends on ARCH_MXC || COMPILE_TEST
840	depends on HAS_IOMEM
841	help
842	  Say yes here to build support for IMX7D ADC.
843
844	  This driver can also be built as a module. If so, the module will be
845	  called imx7d_adc.
846
847config IMX8QXP_ADC
848	tristate "NXP IMX8QXP ADC driver"
849	depends on ARCH_MXC || COMPILE_TEST
850	depends on HAS_IOMEM
851	help
852	  Say yes here to build support for IMX8QXP ADC.
853
854	  This driver can also be built as a module. If so, the module will be
855	  called imx8qxp-adc.
856
857config IMX93_ADC
858	tristate "IMX93 ADC driver"
859	depends on ARCH_MXC || COMPILE_TEST
860	depends on HAS_IOMEM
861	help
862	  Say yes here to build support for IMX93 ADC.
863
864	  This driver can also be built as a module. If so, the module will be
865	  called imx93_adc.
866
867config LP8788_ADC
868	tristate "LP8788 ADC driver"
869	depends on MFD_LP8788
870	help
871	  Say yes here to build support for TI LP8788 ADC.
872
873	  To compile this driver as a module, choose M here: the module will be
874	  called lp8788_adc.
875
876config LPC18XX_ADC
877	tristate "NXP LPC18xx ADC driver"
878	depends on ARCH_LPC18XX || COMPILE_TEST
879	depends on HAS_IOMEM
880	help
881	  Say yes here to build support for NXP LPC18XX ADC.
882
883	  To compile this driver as a module, choose M here: the module will be
884	  called lpc18xx_adc.
885
886config LPC32XX_ADC
887	tristate "NXP LPC32XX ADC"
888	depends on ARCH_LPC32XX || COMPILE_TEST
889	depends on HAS_IOMEM
890	help
891	  Say yes here to build support for the integrated ADC inside the
892	  LPC32XX SoC. Note that this feature uses the same hardware as the
893	  touchscreen driver, so you should either select only one of the two
894	  drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case,
895	  activate only one via device tree selection.  Provides direct access
896	  via sysfs.
897
898config LTC2309
899	tristate "Linear Technology LTC2309 ADC driver"
900	depends on I2C
901	help
902	  Say yes here to build support for Linear Technology LTC2309, a low
903	  noise, low power, 8-channel, 12-bit SAR ADC
904
905	  This driver can also be built as a module. If so, the module will
906	  be called ltc2309.
907
908config LTC2471
909	tristate "Linear Technology LTC2471 and LTC2473 ADC driver"
910	depends on I2C
911	help
912	  Say yes here to build support for Linear Technology LTC2471 and
913	  LTC2473 16-bit I2C ADC.
914
915	  This driver can also be built as a module. If so, the module will
916	  be called ltc2471.
917
918config LTC2485
919	tristate "Linear Technology LTC2485 ADC driver"
920	depends on I2C
921	help
922	  Say yes here to build support for Linear Technology LTC2485 ADC.
923
924	  To compile this driver as a module, choose M here: the module will be
925	  called ltc2485.
926
927config LTC2496
928	tristate "Linear Technology LTC2496 ADC driver"
929	depends on SPI
930	help
931	  Say yes here to build support for Linear Technology LTC2496
932	  16-Bit 8-/16-Channel Delta Sigma ADC.
933
934	  To compile this driver as a module, choose M here: the module will be
935	  called ltc2496.
936
937config LTC2497
938	tristate "Linear Technology LTC2497 ADC driver"
939	depends on I2C
940	help
941	  Say yes here to build support for Linear Technology LTC2497
942	  16-Bit 8-/16-Channel Delta Sigma ADC.
943
944	  To compile this driver as a module, choose M here: the module will be
945	  called ltc2497.
946
947config MAX1027
948	tristate "Maxim max1027 ADC driver"
949	depends on SPI
950	select IIO_BUFFER
951	select IIO_TRIGGERED_BUFFER
952	help
953	  Say yes here to build support for Maxim SPI {10,12}-bit ADC models:
954	  max1027, max1029, max1031, max1227, max1229 and max1231.
955
956	  To compile this driver as a module, choose M here: the module will be
957	  called max1027.
958
959config MAX11100
960	tristate "Maxim max11100 ADC driver"
961	depends on SPI_MASTER
962	help
963	  Say yes here to build support for Maxim max11100 SPI ADC
964
965	  To compile this driver as a module, choose M here: the module will be
966	  called max11100.
967
968config MAX1118
969	tristate "Maxim max1117/max1118/max1119 ADCs driver"
970	depends on SPI
971	select IIO_BUFFER
972	select IIO_TRIGGERED_BUFFER
973	help
974	  Say yes here to build support for Maxim max1117/max1118/max1119
975	  8-bit, dual-channel ADCs.
976
977	  To compile this driver as a module, choose M here: the module will be
978	  called max1118.
979
980config MAX11205
981	tristate "Maxim max11205 ADC driver"
982	depends on SPI
983	select AD_SIGMA_DELTA
984	select IIO_BUFFER
985	select IIO_TRIGGERED_BUFFER
986
987	help
988	  Say yes here to build support for Maxim max11205 16-bit, single-channel
989	  ultra-low power delta-sigma ADC.
990
991	  To compile this driver as a module, choose M here: the module will be
992	  called max11205.
993
994config MAX11410
995	tristate "Analog Devices MAX11410 ADC driver"
996	depends on SPI
997	select REGMAP_SPI
998	select IIO_BUFFER
999	select IIO_TRIGGER
1000	select IIO_TRIGGERED_BUFFER
1001	help
1002	  Say yes here to build support for Analog Devices MAX11410 ADCs.
1003
1004	  To compile this driver as a module, choose M here: the module will be
1005	  called max11410.
1006
1007config MAX1241
1008	tristate "Maxim max1241 ADC driver"
1009	depends on SPI_MASTER
1010	help
1011	  Say yes here to build support for Maxim max1241 12-bit, single-channel
1012	  ADC.
1013
1014	  To compile this driver as a module, choose M here: the module will be
1015	  called max1241.
1016
1017config MAX1363
1018	tristate "Maxim max1363 ADC driver"
1019	depends on I2C
1020	select IIO_BUFFER
1021	select IIO_TRIGGERED_BUFFER
1022	help
1023	  Say yes here to build support for many Maxim i2c analog to digital
1024	  converters (ADC). (max1361, max1362, max1363, max1364, max1036,
1025	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
1026	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
1027	  max11602, max11603, max11604, max11605, max11606, max11607,
1028	  max11608, max11609, max11610, max11611, max11612, max11613,
1029	  max11614, max11615, max11616, max11617, max11644, max11645,
1030	  max11646, max11647) Provides direct access via sysfs and buffered
1031	  data via the iio dev interface.
1032
1033	  To compile this driver as a module, choose M here: the module will be
1034	  called max1363.
1035
1036config MAX14001
1037	tristate "Analog Devices MAX14001/MAX14002 ADC driver"
1038	depends on SPI
1039	help
1040	  Say yes here to build support for Analog Devices MAX14001/MAX14002
1041	  Configurable, Isolated 10-bit ADCs for Multi-Range Binary Inputs.
1042
1043	  To compile this driver as a module, choose M here: the module will be
1044	  called max14001.
1045
1046config MAX34408
1047	tristate "Maxim max34408/max344089 ADC driver"
1048	depends on I2C
1049	help
1050	  Say yes here to build support for Maxim max34408/max34409 current sense
1051	  monitor with 8-bits ADC interface with overcurrent delay/threshold and
1052	  shutdown delay.
1053
1054	  To compile this driver as a module, choose M here: the module will be
1055	  called max34408.
1056
1057config MAX77541_ADC
1058	tristate "Analog Devices MAX77541 ADC driver"
1059	depends on MFD_MAX77541
1060	help
1061	  This driver controls a Analog Devices MAX77541 ADC
1062	  via I2C bus. This device has one adc. Say yes here to build
1063	  support for Analog Devices MAX77541 ADC interface.
1064
1065	  To compile this driver as a module, choose M here:
1066	  the module will be called max77541-adc.
1067
1068config MAX9611
1069	tristate "Maxim max9611/max9612 ADC driver"
1070	depends on I2C
1071	help
1072	  Say yes here to build support for Maxim max9611/max9612 current sense
1073	  amplifier with 12-bits ADC interface.
1074
1075	  To compile this driver as a module, choose M here: the module will be
1076	  called max9611.
1077
1078config MCP320X
1079	tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
1080	depends on SPI
1081	help
1082	  Say yes here to build support for Microchip Technology's
1083	  MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
1084	  MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
1085	  converters.
1086
1087	  This driver can also be built as a module. If so, the module will be
1088	  called mcp320x.
1089
1090config MCP3422
1091	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
1092	depends on I2C
1093	help
1094	  Say yes here to build support for Microchip Technology's MCP3421
1095	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
1096	  analog to digital converters.
1097
1098	  This driver can also be built as a module. If so, the module will be
1099	  called mcp3422.
1100
1101config MCP3564
1102        tristate "Microchip Technology MCP3461/2/4/R, MCP3561/2/4/R driver"
1103        depends on SPI
1104        depends on IIO
1105        help
1106          Say yes here to build support for Microchip Technology's MCP3461,
1107          MCP3462, MCP3464, MCP3461R, MCP3462R, MCP3464R, MCP3561, MCP3562,
1108          MCP3564, MCP3561R, MCP3562R and MCP3564R analog to digital
1109          converters.
1110
1111          This driver can also be built as a module. If so, the module will be
1112          called mcp3564.
1113
1114config MCP3911
1115	tristate "Microchip Technology MCP3911 driver"
1116	depends on SPI
1117	select IIO_BUFFER
1118	select IIO_TRIGGERED_BUFFER
1119	help
1120	  Say yes here to build support for one of the following
1121	  Microchip Technology's analog to digital converters:
1122	  MCP3910, MCP3911, MCP3912, MCP3913, MCP3914,
1123	  MCP3918 and MCP3919.
1124
1125	  This driver can also be built as a module. If so, the module will be
1126	  called mcp3911.
1127
1128config MEDIATEK_MT6359_AUXADC
1129	tristate "MediaTek MT6359 PMIC AUXADC driver"
1130	depends on MFD_MT6397
1131	help
1132	  Say yes here to enable support for MediaTek MT6357, MT6358 and
1133	  MT6359 PMICs Auxiliary ADC.
1134	  This driver provides multiple channels for system monitoring,
1135	  such as battery voltage, PMIC temperature, and others.
1136
1137	  This driver can also be built as a module. If so, the module will be
1138	  called mt6359-auxadc.
1139
1140config MEDIATEK_MT6360_ADC
1141	tristate "Mediatek MT6360 ADC driver"
1142	depends on MFD_MT6360
1143	select IIO_BUFFER
1144	select IIO_TRIGGERED_BUFFER
1145	help
1146	  Say Y here to enable MT6360 ADC support.
1147	  Integrated for System Monitoring includes
1148	  is used in smartphones and tablets and supports a 11 channel
1149	  general purpose ADC.
1150
1151config MEDIATEK_MT6370_ADC
1152	tristate "MediaTek MT6370 ADC driver"
1153	depends on MFD_MT6370
1154	help
1155	  Say yes here to enable MediaTek MT6370 ADC support.
1156
1157	  This ADC driver provides 9 channels for system monitoring (charger
1158	  current, voltage, and temperature).
1159
1160	  This driver can also be built as a module. If so, the module
1161	  will be called "mt6370-adc".
1162
1163config MEDIATEK_MT6577_AUXADC
1164	tristate "MediaTek AUXADC driver"
1165	depends on ARCH_MEDIATEK || COMPILE_TEST
1166	depends on HAS_IOMEM
1167	help
1168	  Say yes here to enable support for MediaTek mt65xx AUXADC.
1169
1170	  The driver supports immediate mode operation to read from one of sixteen
1171	  channels (external or internal).
1172
1173	  This driver can also be built as a module. If so, the module will be
1174	  called mt6577_auxadc.
1175
1176config MEN_Z188_ADC
1177	tristate "MEN 16z188 ADC IP Core support"
1178	depends on MCB
1179	help
1180	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
1181	  carrier.
1182
1183	  This driver can also be built as a module. If so, the module will be
1184	  called men_z188_adc.
1185
1186config MESON_SARADC
1187	tristate "Amlogic Meson SAR ADC driver"
1188	default ARCH_MESON
1189	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
1190	select REGMAP_MMIO
1191	help
1192	  Say yes here to build support for the SAR ADC found in Amlogic Meson
1193	  SoCs.
1194
1195	  To compile this driver as a module, choose M here: the
1196	  module will be called meson_saradc.
1197
1198config MP2629_ADC
1199	tristate "Monolithic MP2629 ADC driver"
1200	depends on MFD_MP2629
1201	help
1202	  Say yes to have support for battery charger IC MP2629 ADC device
1203	  accessed over I2C.
1204
1205	  This driver provides ADC conversion of system, input power supply
1206	  and battery voltage & current information.
1207
1208config NAU7802
1209	tristate "Nuvoton NAU7802 ADC driver"
1210	depends on I2C
1211	help
1212	  Say yes here to build support for Nuvoton NAU7802 ADC.
1213
1214	  To compile this driver as a module, choose M here: the
1215	  module will be called nau7802.
1216
1217config NCT7201
1218	tristate "Nuvoton Instruments NCT7201 and NCT7202 Power Monitor"
1219	depends on I2C
1220	select REGMAP_I2C
1221	help
1222	  If you say yes here you get support for the Nuvoton NCT7201 and
1223	  NCT7202 Voltage Monitor.
1224
1225	  This driver can also be built as a module. If so, the module
1226	  will be called nct7201.
1227
1228config NPCM_ADC
1229	tristate "Nuvoton NPCM ADC driver"
1230	depends on ARCH_NPCM || COMPILE_TEST
1231	depends on HAS_IOMEM
1232	help
1233	  Say yes here to build support for Nuvoton NPCM ADC.
1234
1235	  This driver can also be built as a module. If so, the module
1236	  will be called npcm_adc.
1237
1238config NXP_SAR_ADC
1239	tristate "NXP S32G SAR-ADC driver"
1240	depends on ARCH_S32 || COMPILE_TEST
1241	select IIO_BUFFER
1242	select IIO_TRIGGERED_BUFFER
1243	help
1244	  Say yes here to build support for S32G platforms
1245	  analog-to-digital converter.
1246
1247	  This driver can also be built as a module. If so, the module will be
1248	  called nxp_sar_adc.
1249
1250config PAC1921
1251	tristate "Microchip Technology PAC1921 driver"
1252	depends on I2C
1253	select REGMAP_I2C
1254	select IIO_BUFFER
1255	select IIO_TRIGGERED_BUFFER
1256	help
1257	  Say yes here to build support for Microchip Technology's PAC1921
1258	  High-Side Power/Current Monitor with Analog Output.
1259
1260	  This driver can also be built as a module. If so, the module
1261	  will be called pac1921.
1262
1263config PAC1934
1264	tristate "Microchip Technology PAC1934 driver"
1265	depends on I2C
1266	help
1267	  Say yes here to build support for Microchip Technology's PAC1931,
1268	  PAC1932, PAC1933, PAC1934 Single/Multi-Channel Power Monitor with
1269	  Accumulator.
1270
1271	  This driver can also be built as a module. If so, the module
1272	  will be called pac1934.
1273
1274config PALMAS_GPADC
1275	tristate "TI Palmas General Purpose ADC"
1276	depends on MFD_PALMAS
1277	help
1278	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
1279	  is used in smartphones and tablets and supports a 16 channel
1280	  general purpose ADC.
1281
1282config QCOM_VADC_COMMON
1283	tristate
1284
1285config QCOM_PM8XXX_XOADC
1286	tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
1287	depends on MFD_PM8XXX
1288	select QCOM_VADC_COMMON
1289	help
1290	  ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
1291	  using SSBI transport: PM8018, PM8038, PM8058, PM8921.
1292
1293	  To compile this driver as a module, choose M here: the module
1294	  will be called qcom-pm8xxx-xoadc.
1295
1296config QCOM_SPMI_RRADC
1297	tristate "Qualcomm SPMI RRADC"
1298	depends on MFD_SPMI_PMIC
1299	help
1300	  This is for the PMIC Round Robin ADC driver.
1301
1302	  This driver exposes the battery ID resistor, battery thermal, PMIC die
1303	  temperature, charger USB in and DC in voltage and current.
1304
1305	  To compile this driver as a module, choose M here: the module will
1306	  be called qcom-qpmi-rradc.
1307
1308config QCOM_SPMI_IADC
1309	tristate "Qualcomm SPMI PMIC current ADC"
1310	depends on SPMI
1311	select REGMAP_SPMI
1312	help
1313	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
1314
1315	  The driver supports single mode operation to read from one of two
1316	  channels (external or internal). Hardware have additional
1317	  channels internally used for gain and offset calibration.
1318
1319	  To compile this driver as a module, choose M here: the module will
1320	  be called qcom-spmi-iadc.
1321
1322config QCOM_SPMI_VADC
1323	tristate "Qualcomm SPMI PMIC voltage ADC"
1324	depends on SPMI
1325	select REGMAP_SPMI
1326	select QCOM_VADC_COMMON
1327	help
1328	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
1329
1330	  The driver supports multiple channels read. The VADC is a 15-bit
1331	  sigma-delta ADC. Some of the channels are internally used for
1332	  calibration.
1333
1334	  To compile this driver as a module, choose M here: the module will
1335	  be called qcom-spmi-vadc.
1336
1337config QCOM_SPMI_ADC5
1338	tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
1339	depends on SPMI
1340	select REGMAP_SPMI
1341	select QCOM_VADC_COMMON
1342	help
1343	  This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
1344
1345	  The driver supports multiple channels read. The ADC is a 16-bit
1346	  sigma-delta ADC. The hardware supports calibrated results for
1347	  conversion requests and clients include reading voltage phone
1348	  power, on board system thermistors connected to the PMIC ADC,
1349	  PMIC die temperature, charger temperature, battery current, USB voltage
1350	  input, voltage signals connected to supported PMIC GPIO inputs. The
1351	  hardware supports internal pull-up for thermistors and can choose between
1352	  a 100k, 30k and 400k pull up using the ADC channels.
1353
1354	  To compile this driver as a module, choose M here: the module will
1355	  be called qcom-spmi-adc5.
1356
1357config RCAR_GYRO_ADC
1358	tristate "Renesas R-Car GyroADC driver"
1359	depends on ARCH_RCAR_GEN2 || COMPILE_TEST
1360	help
1361	  Say yes here to build support for the GyroADC found in Renesas
1362	  R-Car Gen2 SoCs. This block is a simple SPI offload engine for
1363	  reading data out of attached compatible ADCs in a round-robin
1364	  fashion. Up to 4 or 8 ADC channels are supported by this block,
1365	  depending on which ADCs are attached.
1366
1367	  To compile this driver as a module, choose M here: the
1368	  module will be called rcar-gyroadc.
1369
1370config RN5T618_ADC
1371	tristate "ADC for the RN5T618/RC5T619 family of chips"
1372	depends on MFD_RN5T618
1373	help
1374	  Say yes here to build support for the integrated ADC inside the
1375	  RN5T618/619 series PMICs:
1376
1377	  This driver can also be built as a module. If so, the module
1378	  will be called rn5t618-adc.
1379
1380config ROHM_BD79112
1381	tristate "Rohm BD79112 ADC driver"
1382	depends on SPI && GPIOLIB
1383	select REGMAP_SPI
1384	select IIO_ADC_HELPER
1385	help
1386	  Say yes here to build support for the ROHM BD79112 ADC. The
1387	  ROHM BD79112 is a 12-bit, 32-channel, SAR ADC. Analog inputs
1388	  can also be used for GPIO.
1389
1390config ROHM_BD79124
1391	tristate "Rohm BD79124 ADC driver"
1392	depends on I2C && GPIOLIB
1393	select REGMAP_I2C
1394	select IIO_ADC_HELPER
1395	help
1396	  Say yes here to build support for the ROHM BD79124 ADC. The
1397	  ROHM BD79124 is a 12-bit, 8-channel, SAR ADC. The ADC supports
1398	  also an automatic measurement mode, with an alarm interrupt for
1399	  out-of-window measurements. The window is configurable for each
1400	  channel.
1401
1402config ROCKCHIP_SARADC
1403	tristate "Rockchip SARADC driver"
1404	depends on ARCH_ROCKCHIP || COMPILE_TEST
1405	depends on RESET_CONTROLLER
1406	select IIO_BUFFER
1407	select IIO_TRIGGERED_BUFFER
1408	help
1409	  Say yes here to build support for the SARADC found in SoCs from
1410	  Rockchip.
1411
1412	  To compile this driver as a module, choose M here: the
1413	  module will be called rockchip_saradc.
1414
1415config RICHTEK_RTQ6056
1416	tristate "Richtek RTQ6056 Current and Power Monitor ADC"
1417	depends on I2C
1418	select REGMAP_I2C
1419	select IIO_BUFFER
1420	select IIO_TRIGGERED_BUFFER
1421	help
1422	  Say yes here to enable RQT6056 ADC support.
1423	  RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
1424	  compatible interface, and the device provides full information for
1425	  system by reading out the load current and power.
1426
1427	  This driver can also be built as a module. If so, the module will be
1428	  called rtq6056.
1429
1430config RZG2L_ADC
1431	tristate "Renesas RZ/G2L ADC driver"
1432	depends on ARCH_RZG2L || COMPILE_TEST
1433	select IIO_ADC_HELPER
1434	help
1435	  Say yes here to build support for the ADC found in Renesas
1436	  RZ/G2L family.
1437
1438	  To compile this driver as a module, choose M here: the
1439	  module will be called rzg2l_adc.
1440
1441config RZN1_ADC
1442	tristate "Renesas RZ/N1 ADC driver"
1443	depends on ARCH_RZN1 || COMPILE_TEST
1444	help
1445	  Say yes here to build support for the ADC found in Renesas
1446	  RZ/N1 family.
1447
1448	  To compile this driver as a module, choose M here: the
1449	  module will be called rzn1-adc.
1450
1451config RZT2H_ADC
1452	tristate "Renesas RZ/T2H / RZ/N2H ADC driver"
1453	depends on ARCH_RENESAS || COMPILE_TEST
1454	select IIO_ADC_HELPER
1455	help
1456	  Say yes here to build support for the ADC found in Renesas
1457	  RZ/T2H / RZ/N2H SoCs.
1458
1459	  To compile this driver as a module, choose M here: the
1460	  module will be called rzt2h_adc.
1461
1462config SC27XX_ADC
1463	tristate "Spreadtrum SC27xx series PMICs ADC"
1464	depends on MFD_SC27XX_PMIC || COMPILE_TEST
1465	help
1466	  Say yes here to build support for the integrated ADC inside the
1467	  Spreadtrum SC27xx series PMICs.
1468
1469	  This driver can also be built as a module. If so, the module
1470	  will be called sc27xx_adc.
1471
1472config SOPHGO_CV1800B_ADC
1473	tristate "Sophgo CV1800B SARADC"
1474	depends on ARCH_SOPHGO || COMPILE_TEST
1475	help
1476	  Say yes here to build support for the SARADC integrated inside
1477	  the Sophgo CV1800B SoC.
1478
1479	  This driver can also be built as a module. If so, the module
1480	  will be called sophgo_cv1800b_adc.
1481
1482config SPEAR_ADC
1483	tristate "ST SPEAr ADC"
1484	depends on PLAT_SPEAR || COMPILE_TEST
1485	depends on HAS_IOMEM
1486	help
1487	  Say yes here to build support for the integrated ADC inside the
1488	  ST SPEAr SoC. Provides direct access via sysfs.
1489
1490	  To compile this driver as a module, choose M here: the
1491	  module will be called spear_adc.
1492
1493config SD_ADC_MODULATOR
1494	tristate "Generic sigma delta modulator"
1495	select IIO_BUFFER
1496	select IIO_TRIGGERED_BUFFER
1497	select IIO_BACKEND
1498	help
1499	  Select this option to enables sigma delta modulator. This driver can
1500	  support generic sigma delta modulators.
1501
1502	  This driver can also be built as a module.  If so, the module
1503	  will be called sd_adc_modulator.
1504
1505config STM32_ADC_CORE
1506	tristate "STMicroelectronics STM32 adc core"
1507	depends on ARCH_STM32 || COMPILE_TEST
1508	depends on OF
1509	depends on REGULATOR
1510	depends on HAS_IOMEM
1511	select IIO_BUFFER
1512	select MFD_STM32_TIMERS
1513	select IIO_STM32_TIMER_TRIGGER
1514	select IIO_TRIGGERED_BUFFER
1515	help
1516	  Select this option to enable the core driver for STMicroelectronics
1517	  STM32 analog-to-digital converter (ADC).
1518
1519	  This driver can also be built as a module.  If so, the module
1520	  will be called stm32-adc-core.
1521
1522config STM32_ADC
1523	tristate "STMicroelectronics STM32 adc"
1524	depends on STM32_ADC_CORE
1525	help
1526	  Say yes here to build support for STMicroelectronics stm32 Analog
1527	  to Digital Converter (ADC).
1528
1529	  This driver can also be built as a module.  If so, the module
1530	  will be called stm32-adc.
1531
1532config STM32_DFSDM_CORE
1533	tristate "STMicroelectronics STM32 DFSDM core"
1534	depends on (ARCH_STM32 && OF) || COMPILE_TEST
1535	select REGMAP
1536	select REGMAP_MMIO
1537	help
1538	  Select this option to enable the  driver for STMicroelectronics
1539	  STM32 digital filter for sigma delta converter.
1540
1541	  This driver can also be built as a module.  If so, the module
1542	  will be called stm32-dfsdm-core.
1543
1544config STM32_DFSDM_ADC
1545	tristate "STMicroelectronics STM32 dfsdm adc"
1546	depends on (ARCH_STM32 && OF) || COMPILE_TEST
1547	select STM32_DFSDM_CORE
1548	select REGMAP_MMIO
1549	select IIO_BUFFER
1550	select IIO_BUFFER_HW_CONSUMER
1551	select IIO_TRIGGERED_BUFFER
1552	select IIO_BACKEND
1553	help
1554	  Select this option to support ADCSigma delta modulator for
1555	  STMicroelectronics STM32 digital filter for sigma delta converter.
1556
1557	  This driver can also be built as a module.  If so, the module
1558	  will be called stm32-dfsdm-adc.
1559
1560config STMPE_ADC
1561	tristate "STMicroelectronics STMPE ADC driver"
1562	depends on OF && MFD_STMPE
1563	help
1564	  Say yes here to build support for ST Microelectronics STMPE
1565	  built-in ADC block (stmpe811).
1566
1567config SUN4I_GPADC
1568	tristate "Allwinner A10/A13/A31 and similar GPADCs driver"
1569	depends on IIO
1570	depends on MFD_SUN4I_GPADC || MACH_SUN8I
1571	depends on THERMAL || !THERMAL_OF
1572	select REGMAP_IRQ
1573	help
1574	  Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
1575	  GPADC. This ADC provides 4 channels which can be used as an ADC or as
1576	  a touchscreen input and one channel for thermal sensor.
1577
1578	  The thermal sensor slows down ADC readings and can be disabled by
1579	  disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
1580	  enabled by default since the SoC temperature is usually more critical
1581	  than ADC readings.
1582
1583	  To compile this driver as a module, choose M here: the module will be
1584	  called sun4i-gpadc-iio.
1585
1586config SUN20I_GPADC
1587	tristate "Allwinner D1/T113s/T507/R329 and similar GPADCs driver"
1588	depends on ARCH_SUNXI || COMPILE_TEST
1589	select IIO_ADC_HELPER
1590	help
1591	  Say yes here to build support for Allwinner (D1, T113, T507 and R329)
1592	  SoCs GPADC. This ADC provides up to 16 channels.
1593
1594	  To compile this driver as a module, choose M here: the module will be
1595	  called sun20i-gpadc-iio.
1596
1597config TI_ADC081C
1598	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
1599	depends on I2C
1600	select IIO_BUFFER
1601	select IIO_TRIGGERED_BUFFER
1602	help
1603	  If you say yes here you get support for Texas Instruments ADC081C,
1604	  ADC101C and ADC121C ADC chips.
1605
1606	  This driver can also be built as a module. If so, the module will be
1607	  called ti-adc081c.
1608
1609config TI_ADC0832
1610	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
1611	depends on SPI
1612	select IIO_BUFFER
1613	select IIO_TRIGGERED_BUFFER
1614	help
1615	  If you say yes here you get support for Texas Instruments ADC0831,
1616	  ADC0832, ADC0834, ADC0838 ADC chips.
1617
1618	  This driver can also be built as a module. If so, the module will be
1619	  called ti-adc0832.
1620
1621config TI_ADC084S021
1622	tristate "Texas Instruments ADC084S021"
1623	depends on SPI
1624	select IIO_BUFFER
1625	select IIO_TRIGGERED_BUFFER
1626	help
1627	  If you say yes here you get support for Texas Instruments ADC084S021
1628	  chips.
1629
1630	  This driver can also be built as a module. If so, the module will be
1631	  called ti-adc084s021.
1632
1633config TI_ADC108S102
1634	tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
1635	depends on SPI
1636	select IIO_BUFFER
1637	select IIO_TRIGGERED_BUFFER
1638	help
1639	  Say yes here to build support for Texas Instruments ADC108S102 and
1640	  ADC128S102 ADC.
1641
1642	  To compile this driver as a module, choose M here: the module will
1643	  be called ti-adc108s102.
1644
1645config TI_ADC12138
1646	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
1647	depends on SPI
1648	select IIO_BUFFER
1649	select IIO_TRIGGERED_BUFFER
1650	help
1651	  If you say yes here you get support for Texas Instruments ADC12130,
1652	  ADC12132 and ADC12138 chips.
1653
1654	  This driver can also be built as a module. If so, the module will be
1655	  called ti-adc12138.
1656
1657config TI_ADC128S052
1658	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
1659	depends on SPI
1660	help
1661	  If you say yes here you get support for Texas Instruments ADC128S052,
1662	  ADC122S021, ADC124S021 and ROHM Semiconductor BD79104 chips.
1663
1664	  This driver can also be built as a module. If so, the module will be
1665	  called ti-adc128s052.
1666
1667config TI_ADC161S626
1668	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
1669	depends on SPI
1670	select IIO_BUFFER
1671	select IIO_TRIGGERED_BUFFER
1672	help
1673	  If you say yes here you get support for Texas Instruments ADC141S626,
1674	  and ADC161S626 chips.
1675
1676	  This driver can also be built as a module. If so, the module will be
1677	  called ti-adc161s626.
1678
1679config TI_ADS1015
1680	tristate "Texas Instruments ADS1015 ADC"
1681	depends on I2C
1682	select REGMAP_I2C
1683	select IIO_BUFFER
1684	select IIO_TRIGGERED_BUFFER
1685	help
1686	  If you say yes here you get support for Texas Instruments ADS1015
1687	  ADC chip.
1688
1689	  This driver can also be built as a module. If so, the module will be
1690	  called ti-ads1015.
1691
1692config TI_ADS1018
1693       tristate "Texas Instruments ADS1018 ADC"
1694       depends on SPI
1695       select IIO_BUFFER
1696       select IIO_TRIGGERED_BUFFER
1697       help
1698         If you say yes here you get support for Texas Instruments ADS1018 and
1699         ADS1118 ADC chips.
1700
1701         This driver can also be built as a module. If so, the module will be
1702         called ti-ads1018.
1703
1704config TI_ADS1100
1705	tristate "Texas Instruments ADS1100 and ADS1000 ADC"
1706	depends on I2C
1707	help
1708	  If you say yes here you get support for Texas Instruments ADS1100 and
1709	  ADS1000 ADC chips.
1710
1711	  This driver can also be built as a module. If so, the module will be
1712	  called ti-ads1100.
1713
1714config TI_ADS1119
1715       tristate "Texas Instruments ADS1119 ADC"
1716       depends on I2C
1717       select IIO_BUFFER
1718       select IIO_TRIGGERED_BUFFER
1719       help
1720         If you say yes here you get support for Texas Instruments ADS1119
1721         ADC chip.
1722
1723         This driver can also be built as a module. If so, the module will be
1724         called ti-ads1119.
1725
1726config TI_ADS124S08
1727	tristate "Texas Instruments ADS124S08"
1728	depends on SPI
1729	select IIO_BUFFER
1730	select IIO_TRIGGERED_BUFFER
1731	help
1732	  If you say yes here you get support for Texas Instruments ADS124S08
1733	  and ADS124S06 ADC chips
1734
1735	  This driver can also be built as a module. If so, the module will be
1736	  called ti-ads124s08.
1737
1738config TI_ADS1298
1739	tristate "Texas Instruments ADS1298"
1740	depends on SPI
1741	select IIO_BUFFER
1742	select IIO_KFIFO_BUF
1743	help
1744	  If you say yes here you get support for Texas Instruments ADS1298
1745	  medical ADC chips
1746
1747	  This driver can also be built as a module. If so, the module will be
1748	  called ti-ads1298.
1749
1750config TI_ADS131E08
1751	tristate "Texas Instruments ADS131E08"
1752	depends on SPI
1753	select IIO_BUFFER
1754	select IIO_TRIGGERED_BUFFER
1755	help
1756	  Say yes here to get support for Texas Instruments ADS131E04, ADS131E06
1757	  and ADS131E08 chips.
1758
1759	  This driver can also be built as a module. If so, the module will be
1760	  called ti-ads131e08.
1761
1762config TI_ADS131M02
1763	tristate "Texas Instruments ADS131M02"
1764	depends on SPI && REGULATOR
1765	select CRC_ITU_T
1766	help
1767	  Say yes here to get support for Texas Instruments ADS131M02, ADS131M03,
1768	  ADS131M04, ADS131M06 and ADS131M08 chips.
1769
1770	  This driver can also be built as a module. If so, the module will be
1771	  called ti-ads131m02.
1772
1773config TI_ADS7138
1774	tristate "Texas Instruments ADS7128 and ADS7138 ADC driver"
1775	depends on I2C
1776	help
1777	  If you say yes here you get support for Texas Instruments ADS7128 and
1778	  ADS7138 8-channel A/D converters with 12-bit resolution.
1779
1780	  This driver can also be built as a module. If so, the module will be
1781	  called ti-ads7138.
1782
1783config TI_ADS7924
1784	tristate "Texas Instruments ADS7924 ADC"
1785	depends on I2C
1786	select REGMAP_I2C
1787	help
1788	  If you say yes here you get support for Texas Instruments ADS7924
1789	  4 channels, 12-bit I2C ADC chip.
1790
1791	  This driver can also be built as a module. If so, the module will be
1792	  called ti-ads7924.
1793
1794config TI_ADS7950
1795	tristate "Texas Instruments ADS7950 ADC driver"
1796	depends on SPI && GPIOLIB
1797	select IIO_BUFFER
1798	select IIO_TRIGGERED_BUFFER
1799	help
1800	  Say yes here to build support for Texas Instruments ADS7950, ADS7951,
1801	  ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
1802	  ADS7960, ADS7961.
1803
1804	  To compile this driver as a module, choose M here: the
1805	  module will be called ti-ads7950.
1806
1807config TI_ADS8344
1808	tristate "Texas Instruments ADS8344"
1809	depends on SPI
1810	help
1811	  If you say yes here you get support for Texas Instruments ADS8344
1812	  ADC chips
1813
1814	  This driver can also be built as a module. If so, the module will be
1815	  called ti-ads8344.
1816
1817config TI_ADS8688
1818	tristate "Texas Instruments ADS8688"
1819	depends on SPI
1820	select IIO_BUFFER
1821	select IIO_TRIGGERED_BUFFER
1822	help
1823	  If you say yes here you get support for Texas Instruments ADS8684 and
1824	  and ADS8688 ADC chips
1825
1826	  This driver can also be built as a module. If so, the module will be
1827	  called ti-ads8688.
1828
1829config TI_AM335X_ADC
1830	tristate "TI's AM335X ADC driver"
1831	depends on MFD_TI_AM335X_TSCADC && HAS_DMA
1832	select IIO_BUFFER
1833	select IIO_KFIFO_BUF
1834	help
1835	  Say yes here to build support for Texas Instruments ADC
1836	  driver which is also a MFD client.
1837
1838	  To compile this driver as a module, choose M here: the module will be
1839	  called ti_am335x_adc.
1840
1841config TI_LMP92064
1842	tristate "Texas Instruments LMP92064 ADC driver"
1843	depends on SPI
1844	select REGMAP_SPI
1845	select IIO_BUFFER
1846	select IIO_TRIGGERED_BUFFER
1847	help
1848	  Say yes here to build support for the LMP92064 Precision Current and Voltage
1849	  sensor.
1850
1851	  This driver can also be built as a module. If so, the module will be called
1852	  ti-lmp92064.
1853
1854config TI_TLC4541
1855	tristate "Texas Instruments TLC4541 ADC driver"
1856	depends on SPI
1857	select IIO_BUFFER
1858	select IIO_TRIGGERED_BUFFER
1859	help
1860	  Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1861	  ADC chips.
1862
1863	  This driver can also be built as a module. If so, the module will be
1864	  called ti-tlc4541.
1865
1866config TI_TSC2046
1867	tristate "Texas Instruments TSC2046 ADC driver"
1868	depends on SPI
1869	select IIO_BUFFER
1870	select IIO_TRIGGERED_BUFFER
1871	help
1872	  Say yes here to build support for ADC functionality of Texas
1873	  Instruments TSC2046 touch screen controller.
1874
1875	  This driver can also be built as a module. If so, the module will be
1876	  called ti-tsc2046.
1877
1878config TWL4030_MADC
1879	tristate "TWL4030 MADC (Monitoring A/D Converter)"
1880	depends on TWL4030_CORE
1881	help
1882	  This driver provides support for Triton TWL4030-MADC. The
1883	  driver supports both RT and SW conversion methods.
1884
1885	  This driver can also be built as a module. If so, the module will be
1886	  called twl4030-madc.
1887
1888config TWL6030_GPADC
1889	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1890	depends on TWL4030_CORE
1891	help
1892	  Say yes here if you want support for the TWL6030/TWL6032 General
1893	  Purpose A/D Converter. This will add support for battery type
1894	  detection, battery voltage and temperature measurement, die
1895	  temperature measurement, system supply voltage, audio accessory,
1896	  USB ID detection.
1897
1898	  This driver can also be built as a module. If so, the module will be
1899	  called twl6030-gpadc.
1900
1901config VF610_ADC
1902	tristate "Freescale vf610 ADC driver"
1903	depends on HAS_IOMEM
1904	select IIO_BUFFER
1905	select IIO_TRIGGERED_BUFFER
1906	help
1907	  Say yes here to support for Vybrid board analog-to-digital converter.
1908	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1909
1910	  This driver can also be built as a module. If so, the module will be
1911	  called vf610_adc.
1912
1913config VIPERBOARD_ADC
1914	tristate "Viperboard ADC support"
1915	depends on MFD_VIPERBOARD && USB
1916	help
1917	  Say yes here to access the ADC part of the Nano River
1918	  Technologies Viperboard.
1919
1920	  To compile this driver as a module, choose M here: the module will be
1921	  called viperboard_adc.
1922
1923config XILINX_XADC
1924	tristate "Xilinx XADC driver"
1925	depends on HAS_IOMEM
1926	select IIO_BUFFER
1927	select IIO_TRIGGERED_BUFFER
1928	help
1929	  Say yes here to have support for the Xilinx 7 Series XADC or
1930	  UltraScale/UltraScale+ System Management Wizard.
1931
1932	  For the 7 Series the driver does support both the ZYNQ interface
1933	  to the XADC as well as the AXI-XADC interface.
1934
1935	  The driver also support the Xilinx System Management Wizard IP core
1936	  that can be used to access the System Monitor ADC on the Xilinx
1937	  UltraScale and UltraScale+ FPGAs.
1938
1939	  The driver can also be build as a module. If so, the module will be called
1940	  xilinx-xadc.
1941
1942config XILINX_AMS
1943	tristate "Xilinx AMS driver"
1944	depends on ARCH_ZYNQMP || COMPILE_TEST
1945	depends on HAS_IOMEM
1946	help
1947	  Say yes here to have support for the Xilinx AMS for Ultrascale/Ultrascale+
1948	  System Monitor. With this you can measure and monitor the Voltages and
1949	  Temperature values on the SOC.
1950
1951	  The driver supports Voltage and Temperature monitoring on Xilinx Ultrascale
1952	  devices.
1953
1954	  The driver can also be built as a module. If so, the module will be called
1955	  xilinx-ams.
1956
1957endmenu
1958