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