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