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