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