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