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