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