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