xref: /openbmc/linux/drivers/iio/adc/Kconfig (revision 7fc96d71)
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	depends on OF
421	help
422	  Say yes here to build support for an envelope detector using a DAC
423	  and a comparator.
424
425	  To compile this driver as a module, choose M here: the module will be
426	  called envelope-detector.
427
428config EP93XX_ADC
429	tristate "Cirrus Logic EP93XX ADC driver"
430	depends on ARCH_EP93XX
431	help
432	  Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
433	  It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
434	  case driver will reduce its CPU usage by 90% in some use cases.
435
436	  To compile this driver as a module, choose M here: the module will be
437	  called ep93xx_adc.
438
439config EXYNOS_ADC
440	tristate "Exynos ADC driver support"
441	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
442	depends on HAS_IOMEM
443	help
444	  Driver for the ADC block found in the Samsung S3C (S3C2410, S3C2416,
445	  S3C2440, S3C2443, S3C6410), S5Pv210 and Exynos SoCs.
446	  Choose Y here only if you build for such Samsung SoC.
447
448	  To compile this driver as a module, choose M here: the module will be
449	  called exynos_adc.
450
451config MXS_LRADC_ADC
452	tristate "Freescale i.MX23/i.MX28 LRADC ADC"
453	depends on MFD_MXS_LRADC
454	select IIO_BUFFER
455	select IIO_TRIGGERED_BUFFER
456	help
457	  Say yes here to build support for the ADC functions of the
458	  i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings,
459	  battery voltage measurement, and die temperature measurement.
460
461	  This driver can also be built as a module. If so, the module will be
462	  called mxs-lradc-adc.
463
464config FSL_MX25_ADC
465	tristate "Freescale MX25 ADC driver"
466	depends on MFD_MX25_TSADC
467	help
468	  Generic Conversion Queue driver used for general purpose ADC in the
469	  MX25. This driver supports single measurements using the MX25 ADC.
470
471config HI8435
472	tristate "Holt Integrated Circuits HI-8435 threshold detector"
473	select IIO_TRIGGERED_EVENT
474	depends on SPI
475	help
476	  If you say yes here you get support for Holt Integrated Circuits
477	  HI-8435 chip.
478
479	  This driver can also be built as a module. If so, the module will be
480	  called hi8435.
481
482config HX711
483	tristate "AVIA HX711 ADC for weight cells"
484	depends on GPIOLIB
485	select IIO_BUFFER
486	select IIO_TRIGGERED_BUFFER
487	help
488	  If you say yes here you get support for AVIA HX711 ADC which is used
489	  for weigh cells
490
491	  This driver uses two GPIOs, one acts as the clock and controls the
492	  channel selection and gain, the other one is used for the measurement
493	  data
494
495	  Currently the raw value is read from the chip and delivered.
496	  To get an actual weight one needs to subtract the
497	  zero offset and multiply by a scale factor.
498	  This should be done in userspace.
499
500	  This driver can also be built as a module. If so, the module will be
501	  called hx711.
502
503config INA2XX_ADC
504	tristate "Texas Instruments INA2xx Power Monitors IIO driver"
505	depends on I2C && !SENSORS_INA2XX
506	select REGMAP_I2C
507	select IIO_BUFFER
508	select IIO_KFIFO_BUF
509	help
510	  Say yes here to build support for TI INA2xx family of Power Monitors.
511	  This driver is mutually exclusive with the HWMON version.
512
513config INGENIC_ADC
514	tristate "Ingenic JZ47xx SoCs ADC driver"
515	depends on MIPS || COMPILE_TEST
516	select IIO_BUFFER
517	help
518	  Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit.
519
520	  This driver can also be built as a module. If so, the module will be
521	  called ingenic_adc.
522
523config INTEL_MRFLD_ADC
524	tristate "Intel Merrifield Basin Cove ADC driver"
525	depends on INTEL_SOC_PMIC_MRFLD
526	help
527	  Say yes here to have support for Basin Cove power management IC (PMIC) ADC
528	  device. Depending on platform configuration, this general purpose ADC can
529	  be used for sampling sensors such as thermal resistors.
530
531	  To compile this driver as a module, choose M here: the module will be
532	  called intel_mrfld_adc.
533
534config IMX7D_ADC
535	tristate "Freescale IMX7D ADC driver"
536	depends on ARCH_MXC || COMPILE_TEST
537	depends on HAS_IOMEM
538	help
539	  Say yes here to build support for IMX7D ADC.
540
541	  This driver can also be built as a module. If so, the module will be
542	  called imx7d_adc.
543
544config IMX8QXP_ADC
545	tristate "NXP IMX8QXP ADC driver"
546	depends on ARCH_MXC || COMPILE_TEST
547	depends on HAS_IOMEM
548	help
549	  Say yes here to build support for IMX8QXP ADC.
550
551	  This driver can also be built as a module. If so, the module will be
552	  called imx8qxp-adc.
553
554config LP8788_ADC
555	tristate "LP8788 ADC driver"
556	depends on MFD_LP8788
557	help
558	  Say yes here to build support for TI LP8788 ADC.
559
560	  To compile this driver as a module, choose M here: the module will be
561	  called lp8788_adc.
562
563config LPC18XX_ADC
564	tristate "NXP LPC18xx ADC driver"
565	depends on ARCH_LPC18XX || COMPILE_TEST
566	depends on OF && HAS_IOMEM
567	help
568	  Say yes here to build support for NXP LPC18XX ADC.
569
570	  To compile this driver as a module, choose M here: the module will be
571	  called lpc18xx_adc.
572
573config LPC32XX_ADC
574	tristate "NXP LPC32XX ADC"
575	depends on ARCH_LPC32XX || COMPILE_TEST
576	depends on HAS_IOMEM
577	help
578	  Say yes here to build support for the integrated ADC inside the
579	  LPC32XX SoC. Note that this feature uses the same hardware as the
580	  touchscreen driver, so you should either select only one of the two
581	  drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case,
582	  activate only one via device tree selection.  Provides direct access
583	  via sysfs.
584
585config LTC2471
586	tristate "Linear Technology LTC2471 and LTC2473 ADC driver"
587	depends on I2C
588	help
589	  Say yes here to build support for Linear Technology LTC2471 and
590	  LTC2473 16-bit I2C ADC.
591
592	  This driver can also be built as a module. If so, the module will
593	  be called ltc2471.
594
595config LTC2485
596	tristate "Linear Technology LTC2485 ADC driver"
597	depends on I2C
598	help
599	  Say yes here to build support for Linear Technology LTC2485 ADC.
600
601	  To compile this driver as a module, choose M here: the module will be
602	  called ltc2485.
603
604config LTC2496
605	tristate "Linear Technology LTC2496 ADC driver"
606	depends on SPI
607	help
608	  Say yes here to build support for Linear Technology LTC2496
609	  16-Bit 8-/16-Channel Delta Sigma ADC.
610
611	  To compile this driver as a module, choose M here: the module will be
612	  called ltc2496.
613
614config LTC2497
615	tristate "Linear Technology LTC2497 ADC driver"
616	depends on I2C
617	help
618	  Say yes here to build support for Linear Technology LTC2497
619	  16-Bit 8-/16-Channel Delta Sigma ADC.
620
621	  To compile this driver as a module, choose M here: the module will be
622	  called ltc2497.
623
624config MAX1027
625	tristate "Maxim max1027 ADC driver"
626	depends on SPI
627	select IIO_BUFFER
628	select IIO_TRIGGERED_BUFFER
629	help
630	  Say yes here to build support for Maxim SPI {10,12}-bit ADC models:
631	  max1027, max1029, max1031, max1227, max1229 and max1231.
632
633	  To compile this driver as a module, choose M here: the module will be
634	  called max1027.
635
636config MAX11100
637	tristate "Maxim max11100 ADC driver"
638	depends on SPI_MASTER
639	help
640	  Say yes here to build support for Maxim max11100 SPI ADC
641
642	  To compile this driver as a module, choose M here: the module will be
643	  called max11100.
644
645config MAX1118
646	tristate "Maxim max1117/max1118/max1119 ADCs driver"
647	depends on SPI
648	select IIO_BUFFER
649	select IIO_TRIGGERED_BUFFER
650	help
651	  Say yes here to build support for Maxim max1117/max1118/max1119
652	  8-bit, dual-channel ADCs.
653
654	  To compile this driver as a module, choose M here: the module will be
655	  called max1118.
656
657config MAX1241
658	tristate "Maxim max1241 ADC driver"
659	depends on SPI_MASTER
660	help
661	  Say yes here to build support for Maxim max1241 12-bit, single-channel
662	  ADC.
663
664	  To compile this driver as a module, choose M here: the module will be
665	  called max1241.
666
667config MAX1363
668	tristate "Maxim max1363 ADC driver"
669	depends on I2C
670	select IIO_BUFFER
671	select IIO_TRIGGERED_BUFFER
672	help
673	  Say yes here to build support for many Maxim i2c analog to digital
674	  converters (ADC). (max1361, max1362, max1363, max1364, max1036,
675	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
676	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
677	  max11602, max11603, max11604, max11605, max11606, max11607,
678	  max11608, max11609, max11610, max11611, max11612, max11613,
679	  max11614, max11615, max11616, max11617, max11644, max11645,
680	  max11646, max11647) Provides direct access via sysfs and buffered
681	  data via the iio dev interface.
682
683	  To compile this driver as a module, choose M here: the module will be
684	  called max1363.
685
686config MAX9611
687	tristate "Maxim max9611/max9612 ADC driver"
688	depends on I2C
689	help
690	  Say yes here to build support for Maxim max9611/max9612 current sense
691	  amplifier with 12-bits ADC interface.
692
693	  To compile this driver as a module, choose M here: the module will be
694	  called max9611.
695
696config MCP320X
697	tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3"
698	depends on SPI
699	help
700	  Say yes here to build support for Microchip Technology's
701	  MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
702	  MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital
703	  converters.
704
705	  This driver can also be built as a module. If so, the module will be
706	  called mcp320x.
707
708config MCP3422
709	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
710	depends on I2C
711	help
712	  Say yes here to build support for Microchip Technology's MCP3421
713	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
714	  analog to digital converters.
715
716	  This driver can also be built as a module. If so, the module will be
717	  called mcp3422.
718
719config MCP3911
720	tristate "Microchip Technology MCP3911 driver"
721	depends on SPI
722	help
723	  Say yes here to build support for Microchip Technology's MCP3911
724	  analog to digital converter.
725
726	  This driver can also be built as a module. If so, the module will be
727	  called mcp3911.
728
729config MEDIATEK_MT6360_ADC
730	tristate "Mediatek MT6360 ADC driver"
731	depends on MFD_MT6360
732	select IIO_BUFFER
733	select IIO_TRIGGERED_BUFFER
734	help
735	  Say Y here to enable MT6360 ADC support.
736	  Integrated for System Monitoring includes
737	  is used in smartphones and tablets and supports a 11 channel
738	  general purpose ADC.
739
740config MEDIATEK_MT6577_AUXADC
741	tristate "MediaTek AUXADC driver"
742	depends on ARCH_MEDIATEK || COMPILE_TEST
743	depends on HAS_IOMEM
744	help
745	  Say yes here to enable support for MediaTek mt65xx AUXADC.
746
747	  The driver supports immediate mode operation to read from one of sixteen
748	  channels (external or internal).
749
750	  This driver can also be built as a module. If so, the module will be
751	  called mt6577_auxadc.
752
753config MEN_Z188_ADC
754	tristate "MEN 16z188 ADC IP Core support"
755	depends on MCB
756	help
757	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
758	  carrier.
759
760	  This driver can also be built as a module. If so, the module will be
761	  called men_z188_adc.
762
763config MESON_SARADC
764	tristate "Amlogic Meson SAR ADC driver"
765	default ARCH_MESON
766	depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
767	select REGMAP_MMIO
768	help
769	  Say yes here to build support for the SAR ADC found in Amlogic Meson
770	  SoCs.
771
772	  To compile this driver as a module, choose M here: the
773	  module will be called meson_saradc.
774
775config MP2629_ADC
776	tristate "Monolithic MP2629 ADC driver"
777	depends on MFD_MP2629
778	help
779	  Say yes to have support for battery charger IC MP2629 ADC device
780	  accessed over I2C.
781
782	  This driver provides ADC conversion of system, input power supply
783	  and battery voltage & current information.
784
785config NAU7802
786	tristate "Nuvoton NAU7802 ADC driver"
787	depends on I2C
788	help
789	  Say yes here to build support for Nuvoton NAU7802 ADC.
790
791	  To compile this driver as a module, choose M here: the
792	  module will be called nau7802.
793
794config NPCM_ADC
795	tristate "Nuvoton NPCM ADC driver"
796	depends on ARCH_NPCM || COMPILE_TEST
797	depends on HAS_IOMEM
798	help
799	  Say yes here to build support for Nuvoton NPCM ADC.
800
801	  This driver can also be built as a module. If so, the module
802	  will be called npcm_adc.
803
804config PALMAS_GPADC
805	tristate "TI Palmas General Purpose ADC"
806	depends on MFD_PALMAS
807	help
808	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
809	  is used in smartphones and tablets and supports a 16 channel
810	  general purpose ADC.
811
812config QCOM_VADC_COMMON
813	tristate
814
815config QCOM_PM8XXX_XOADC
816	tristate "Qualcomm SSBI PM8xxx PMIC XOADCs"
817	depends on MFD_PM8XXX
818	select QCOM_VADC_COMMON
819	help
820	  ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs
821	  using SSBI transport: PM8018, PM8038, PM8058, PM8921.
822
823	  To compile this driver as a module, choose M here: the module
824	  will be called qcom-pm8xxx-xoadc.
825
826config QCOM_SPMI_IADC
827	tristate "Qualcomm SPMI PMIC current ADC"
828	depends on SPMI
829	select REGMAP_SPMI
830	help
831	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
832
833	  The driver supports single mode operation to read from one of two
834	  channels (external or internal). Hardware have additional
835	  channels internally used for gain and offset calibration.
836
837	  To compile this driver as a module, choose M here: the module will
838	  be called qcom-spmi-iadc.
839
840config QCOM_SPMI_VADC
841	tristate "Qualcomm SPMI PMIC voltage ADC"
842	depends on SPMI
843	select REGMAP_SPMI
844	select QCOM_VADC_COMMON
845	help
846	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
847
848	  The driver supports multiple channels read. The VADC is a 15-bit
849	  sigma-delta ADC. Some of the channels are internally used for
850	  calibration.
851
852	  To compile this driver as a module, choose M here: the module will
853	  be called qcom-spmi-vadc.
854
855config QCOM_SPMI_ADC5
856	tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC"
857	depends on SPMI
858	select REGMAP_SPMI
859	select QCOM_VADC_COMMON
860	help
861	  This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc.
862
863	  The driver supports multiple channels read. The ADC is a 16-bit
864	  sigma-delta ADC. The hardware supports calibrated results for
865	  conversion requests and clients include reading voltage phone
866	  power, on board system thermistors connected to the PMIC ADC,
867	  PMIC die temperature, charger temperature, battery current, USB voltage
868	  input, voltage signals connected to supported PMIC GPIO inputs. The
869	  hardware supports internal pull-up for thermistors and can choose between
870	  a 100k, 30k and 400k pull up using the ADC channels.
871
872	  To compile this driver as a module, choose M here: the module will
873	  be called qcom-spmi-adc5.
874
875config RCAR_GYRO_ADC
876	tristate "Renesas R-Car GyroADC driver"
877	depends on ARCH_RCAR_GEN2 || COMPILE_TEST
878	help
879	  Say yes here to build support for the GyroADC found in Renesas
880	  R-Car Gen2 SoCs. This block is a simple SPI offload engine for
881	  reading data out of attached compatible ADCs in a round-robin
882	  fashion. Up to 4 or 8 ADC channels are supported by this block,
883	  depending on which ADCs are attached.
884
885	  To compile this driver as a module, choose M here: the
886	  module will be called rcar-gyroadc.
887
888config RN5T618_ADC
889	tristate "ADC for the RN5T618/RC5T619 family of chips"
890	depends on MFD_RN5T618
891	help
892	  Say yes here to build support for the integrated ADC inside the
893	  RN5T618/619 series PMICs:
894
895	  This driver can also be built as a module. If so, the module
896	  will be called rn5t618-adc.
897
898config ROCKCHIP_SARADC
899	tristate "Rockchip SARADC driver"
900	depends on ARCH_ROCKCHIP || COMPILE_TEST
901	depends on RESET_CONTROLLER
902	select IIO_BUFFER
903	select IIO_TRIGGERED_BUFFER
904	help
905	  Say yes here to build support for the SARADC found in SoCs from
906	  Rockchip.
907
908	  To compile this driver as a module, choose M here: the
909	  module will be called rockchip_saradc.
910
911config RZG2L_ADC
912	tristate "Renesas RZ/G2L ADC driver"
913	depends on ARCH_RZG2L || COMPILE_TEST
914	help
915	  Say yes here to build support for the ADC found in Renesas
916	  RZ/G2L family.
917
918	  To compile this driver as a module, choose M here: the
919	  module will be called rzg2l_adc.
920
921config SC27XX_ADC
922	tristate "Spreadtrum SC27xx series PMICs ADC"
923	depends on MFD_SC27XX_PMIC || COMPILE_TEST
924	help
925	  Say yes here to build support for the integrated ADC inside the
926	  Spreadtrum SC27xx series PMICs.
927
928	  This driver can also be built as a module. If so, the module
929	  will be called sc27xx_adc.
930
931config SPEAR_ADC
932	tristate "ST SPEAr ADC"
933	depends on PLAT_SPEAR || COMPILE_TEST
934	depends on HAS_IOMEM
935	help
936	  Say yes here to build support for the integrated ADC inside the
937	  ST SPEAr SoC. Provides direct access via sysfs.
938
939	  To compile this driver as a module, choose M here: the
940	  module will be called spear_adc.
941
942config SD_ADC_MODULATOR
943	tristate "Generic sigma delta modulator"
944	depends on OF
945	select IIO_BUFFER
946	select IIO_TRIGGERED_BUFFER
947	help
948	  Select this option to enables sigma delta modulator. This driver can
949	  support generic sigma delta modulators.
950
951	  This driver can also be built as a module.  If so, the module
952	  will be called sd_adc_modulator.
953
954config STM32_ADC_CORE
955	tristate "STMicroelectronics STM32 adc core"
956	depends on ARCH_STM32 || COMPILE_TEST
957	depends on OF
958	depends on REGULATOR
959	depends on HAS_IOMEM
960	select IIO_BUFFER
961	select MFD_STM32_TIMERS
962	select IIO_STM32_TIMER_TRIGGER
963	select IIO_TRIGGERED_BUFFER
964	help
965	  Select this option to enable the core driver for STMicroelectronics
966	  STM32 analog-to-digital converter (ADC).
967
968	  This driver can also be built as a module.  If so, the module
969	  will be called stm32-adc-core.
970
971config STM32_ADC
972	tristate "STMicroelectronics STM32 adc"
973	depends on STM32_ADC_CORE
974	help
975	  Say yes here to build support for STMicroelectronics stm32 Analog
976	  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.
980
981config STM32_DFSDM_CORE
982	tristate "STMicroelectronics STM32 DFSDM core"
983	depends on (ARCH_STM32 && OF) || COMPILE_TEST
984	select REGMAP
985	select REGMAP_MMIO
986	help
987	  Select this option to enable the  driver for STMicroelectronics
988	  STM32 digital filter for sigma delta converter.
989
990	  This driver can also be built as a module.  If so, the module
991	  will be called stm32-dfsdm-core.
992
993config STM32_DFSDM_ADC
994	tristate "STMicroelectronics STM32 dfsdm adc"
995	depends on (ARCH_STM32 && OF) || COMPILE_TEST
996	select STM32_DFSDM_CORE
997	select REGMAP_MMIO
998	select IIO_BUFFER
999	select IIO_BUFFER_HW_CONSUMER
1000	select IIO_TRIGGERED_BUFFER
1001	help
1002	  Select this option to support ADCSigma delta modulator for
1003	  STMicroelectronics STM32 digital filter for sigma delta converter.
1004
1005	  This driver can also be built as a module.  If so, the module
1006	  will be called stm32-dfsdm-adc.
1007
1008config STMPE_ADC
1009	tristate "STMicroelectronics STMPE ADC driver"
1010	depends on OF && MFD_STMPE
1011	help
1012	  Say yes here to build support for ST Microelectronics STMPE
1013	  built-in ADC block (stmpe811).
1014
1015config STX104
1016	tristate "Apex Embedded Systems STX104 driver"
1017	depends on PC104 && X86
1018	select ISA_BUS_API
1019	select GPIOLIB
1020	help
1021	  Say yes here to build support for the Apex Embedded Systems STX104
1022	  integrated analog PC/104 card.
1023
1024	  This driver supports the 16 channels of single-ended (8 channels of
1025	  differential) analog inputs, 2 channels of analog output, 4 digital
1026	  inputs, and 4 digital outputs provided by the STX104.
1027
1028	  The base port addresses for the devices may be configured via the base
1029	  array module parameter.
1030
1031config SUN4I_GPADC
1032	tristate "Support for the Allwinner SoCs GPADC"
1033	depends on IIO
1034	depends on MFD_SUN4I_GPADC || MACH_SUN8I
1035	depends on THERMAL || !THERMAL_OF
1036	select REGMAP_IRQ
1037	help
1038	  Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
1039	  GPADC. This ADC provides 4 channels which can be used as an ADC or as
1040	  a touchscreen input and one channel for thermal sensor.
1041
1042	  The thermal sensor slows down ADC readings and can be disabled by
1043	  disabling CONFIG_THERMAL_OF. However, the thermal sensor should be
1044	  enabled by default since the SoC temperature is usually more critical
1045	  than ADC readings.
1046
1047	  To compile this driver as a module, choose M here: the module will be
1048	  called sun4i-gpadc-iio.
1049
1050config TI_ADC081C
1051	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
1052	depends on I2C
1053	select IIO_BUFFER
1054	select IIO_TRIGGERED_BUFFER
1055	help
1056	  If you say yes here you get support for Texas Instruments ADC081C,
1057	  ADC101C and ADC121C ADC chips.
1058
1059	  This driver can also be built as a module. If so, the module will be
1060	  called ti-adc081c.
1061
1062config TI_ADC0832
1063	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
1064	depends on SPI
1065	select IIO_BUFFER
1066	select IIO_TRIGGERED_BUFFER
1067	help
1068	  If you say yes here you get support for Texas Instruments ADC0831,
1069	  ADC0832, ADC0834, ADC0838 ADC chips.
1070
1071	  This driver can also be built as a module. If so, the module will be
1072	  called ti-adc0832.
1073
1074config TI_ADC084S021
1075	tristate "Texas Instruments ADC084S021"
1076	depends on SPI
1077	select IIO_BUFFER
1078	select IIO_TRIGGERED_BUFFER
1079	help
1080	  If you say yes here you get support for Texas Instruments ADC084S021
1081	  chips.
1082
1083	  This driver can also be built as a module. If so, the module will be
1084	  called ti-adc084s021.
1085
1086config TI_ADC12138
1087	tristate "Texas Instruments ADC12130/ADC12132/ADC12138"
1088	depends on SPI
1089	select IIO_BUFFER
1090	select IIO_TRIGGERED_BUFFER
1091	help
1092	  If you say yes here you get support for Texas Instruments ADC12130,
1093	  ADC12132 and ADC12138 chips.
1094
1095	  This driver can also be built as a module. If so, the module will be
1096	  called ti-adc12138.
1097
1098config TI_ADC108S102
1099	tristate "Texas Instruments ADC108S102 and ADC128S102 driver"
1100	depends on SPI
1101	select IIO_BUFFER
1102	select IIO_TRIGGERED_BUFFER
1103	help
1104	  Say yes here to build support for Texas Instruments ADC108S102 and
1105	  ADC128S102 ADC.
1106
1107	  To compile this driver as a module, choose M here: the module will
1108	  be called ti-adc108s102.
1109
1110config TI_ADC128S052
1111	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
1112	depends on SPI
1113	help
1114	  If you say yes here you get support for Texas Instruments ADC128S052,
1115	  ADC122S021 and ADC124S021 chips.
1116
1117	  This driver can also be built as a module. If so, the module will be
1118	  called ti-adc128s052.
1119
1120config TI_ADC161S626
1121	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
1122	depends on SPI
1123	select IIO_BUFFER
1124	select IIO_TRIGGERED_BUFFER
1125	help
1126	  If you say yes here you get support for Texas Instruments ADC141S626,
1127	  and ADC161S626 chips.
1128
1129	  This driver can also be built as a module. If so, the module will be
1130	  called ti-adc161s626.
1131
1132config TI_ADS1015
1133	tristate "Texas Instruments ADS1015 ADC"
1134	depends on I2C
1135	select REGMAP_I2C
1136	select IIO_BUFFER
1137	select IIO_TRIGGERED_BUFFER
1138	help
1139	  If you say yes here you get support for Texas Instruments ADS1015
1140	  ADC chip.
1141
1142	  This driver can also be built as a module. If so, the module will be
1143	  called ti-ads1015.
1144
1145config TI_ADS7950
1146	tristate "Texas Instruments ADS7950 ADC driver"
1147	depends on SPI && GPIOLIB
1148	select IIO_BUFFER
1149	select IIO_TRIGGERED_BUFFER
1150	help
1151	  Say yes here to build support for Texas Instruments ADS7950, ADS7951,
1152	  ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959.
1153	  ADS7960, ADS7961.
1154
1155	  To compile this driver as a module, choose M here: the
1156	  module will be called ti-ads7950.
1157
1158config TI_ADS8344
1159	tristate "Texas Instruments ADS8344"
1160	depends on SPI
1161	help
1162	  If you say yes here you get support for Texas Instruments ADS8344
1163	  ADC chips
1164
1165	  This driver can also be built as a module. If so, the module will be
1166	  called ti-ads8344.
1167
1168config TI_ADS8688
1169	tristate "Texas Instruments ADS8688"
1170	depends on SPI
1171	help
1172	  If you say yes here you get support for Texas Instruments ADS8684 and
1173	  and ADS8688 ADC chips
1174
1175	  This driver can also be built as a module. If so, the module will be
1176	  called ti-ads8688.
1177
1178config TI_ADS124S08
1179	tristate "Texas Instruments ADS124S08"
1180	depends on SPI
1181	help
1182	  If you say yes here you get support for Texas Instruments ADS124S08
1183	  and ADS124S06 ADC chips
1184
1185	  This driver can also be built as a module. If so, the module will be
1186	  called ti-ads124s08.
1187
1188config TI_ADS131E08
1189	tristate "Texas Instruments ADS131E08"
1190	depends on SPI
1191	select IIO_BUFFER
1192	select IIO_TRIGGERED_BUFFER
1193	help
1194	  Say yes here to get support for Texas Instruments ADS131E04, ADS131E06
1195	  and ADS131E08 chips.
1196
1197	  This driver can also be built as a module. If so, the module will be
1198	  called ti-ads131e08.
1199
1200config TI_AM335X_ADC
1201	tristate "TI's AM335X ADC driver"
1202	depends on MFD_TI_AM335X_TSCADC && HAS_DMA
1203	select IIO_BUFFER
1204	select IIO_KFIFO_BUF
1205	help
1206	  Say yes here to build support for Texas Instruments ADC
1207	  driver which is also a MFD client.
1208
1209	  To compile this driver as a module, choose M here: the module will be
1210	  called ti_am335x_adc.
1211
1212config TI_TLC4541
1213	tristate "Texas Instruments TLC4541 ADC driver"
1214	depends on SPI
1215	select IIO_BUFFER
1216	select IIO_TRIGGERED_BUFFER
1217	help
1218	  Say yes here to build support for Texas Instruments TLC4541 / TLC3541
1219	  ADC chips.
1220
1221	  This driver can also be built as a module. If so, the module will be
1222	  called ti-tlc4541.
1223
1224config TI_TSC2046
1225	tristate "Texas Instruments TSC2046 ADC driver"
1226	depends on SPI
1227	select IIO_BUFFER
1228	select IIO_TRIGGERED_BUFFER
1229	help
1230	  Say yes here to build support for ADC functionality of Texas
1231	  Instruments TSC2046 touch screen controller.
1232
1233	  This driver can also be built as a module. If so, the module will be
1234	  called ti-tsc2046.
1235
1236config TWL4030_MADC
1237	tristate "TWL4030 MADC (Monitoring A/D Converter)"
1238	depends on TWL4030_CORE
1239	help
1240	  This driver provides support for Triton TWL4030-MADC. The
1241	  driver supports both RT and SW conversion methods.
1242
1243	  This driver can also be built as a module. If so, the module will be
1244	  called twl4030-madc.
1245
1246config TWL6030_GPADC
1247	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
1248	depends on TWL4030_CORE
1249	default n
1250	help
1251	  Say yes here if you want support for the TWL6030/TWL6032 General
1252	  Purpose A/D Converter. This will add support for battery type
1253	  detection, battery voltage and temperature measurement, die
1254	  temperature measurement, system supply voltage, audio accessory,
1255	  USB ID detection.
1256
1257	  This driver can also be built as a module. If so, the module will be
1258	  called twl6030-gpadc.
1259
1260config VF610_ADC
1261	tristate "Freescale vf610 ADC driver"
1262	depends on OF
1263	depends on HAS_IOMEM
1264	select IIO_BUFFER
1265	select IIO_TRIGGERED_BUFFER
1266	help
1267	  Say yes here to support for Vybrid board analog-to-digital converter.
1268	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
1269
1270	  This driver can also be built as a module. If so, the module will be
1271	  called vf610_adc.
1272
1273config VIPERBOARD_ADC
1274	tristate "Viperboard ADC support"
1275	depends on MFD_VIPERBOARD && USB
1276	help
1277	  Say yes here to access the ADC part of the Nano River
1278	  Technologies Viperboard.
1279
1280	  To compile this driver as a module, choose M here: the module will be
1281	  called viperboard_adc.
1282
1283config XILINX_XADC
1284	tristate "Xilinx XADC driver"
1285	depends on HAS_IOMEM
1286	select IIO_BUFFER
1287	select IIO_TRIGGERED_BUFFER
1288	help
1289	  Say yes here to have support for the Xilinx 7 Series XADC or
1290	  UltraScale/UltraScale+ System Management Wizard.
1291
1292	  For the 7 Series the driver does support both the ZYNQ interface
1293	  to the XADC as well as the AXI-XADC interface.
1294
1295	  The driver also support the Xilinx System Management Wizard IP core
1296	  that can be used to access the System Monitor ADC on the Xilinx
1297	  UltraScale and UltraScale+ FPGAs.
1298
1299	  The driver can also be build as a module. If so, the module will be called
1300	  xilinx-xadc.
1301
1302config XILINX_AMS
1303	tristate "Xilinx AMS driver"
1304	depends on ARCH_ZYNQMP || COMPILE_TEST
1305	depends on HAS_IOMEM
1306	help
1307	  Say yes here to have support for the Xilinx AMS for Ultrascale/Ultrascale+
1308	  System Monitor. With this you can measure and monitor the Voltages and
1309	  Temperature values on the SOC.
1310
1311	  The driver supports Voltage and Temperature monitoring on Xilinx Ultrascale
1312	  devices.
1313
1314	  The driver can also be built as a module. If so, the module will be called
1315	  xilinx-ams.
1316
1317endmenu
1318