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