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