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