xref: /linux/drivers/iio/adc/Kconfig (revision 1296bd62b0dcbdc8fd66908eb2d72dc4c3dba219)
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 AD7266
14	tristate "Analog Devices AD7265/AD7266 ADC driver"
15	depends on SPI_MASTER
16	select IIO_BUFFER
17	select IIO_TRIGGER
18	select IIO_TRIGGERED_BUFFER
19	help
20	  Say yes here to build support for Analog Devices AD7265 and AD7266
21	  ADCs.
22
23	  To compile this driver as a module, choose M here: the module will be
24	  called ad7266.
25
26config AD7291
27	tristate "Analog Devices AD7291 ADC driver"
28	depends on I2C
29	help
30	  Say yes here to build support for Analog Devices AD7291
31	  8 Channel ADC with temperature sensor.
32
33	  To compile this driver as a module, choose M here: the
34	  module will be called ad7291.
35
36config AD7298
37	tristate "Analog Devices AD7298 ADC driver"
38	depends on SPI
39	select IIO_BUFFER
40	select IIO_TRIGGERED_BUFFER
41	help
42	  Say yes here to build support for Analog Devices AD7298
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 ad7298.
47
48config AD7476
49	tristate "Analog Devices AD7476 and similar 1-channel ADCs 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 AD7273, AD7274, AD7276,
55	  AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468,
56	  AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC).
57
58	  To compile this driver as a module, choose M here: the
59	  module will be called ad7476.
60
61config AD7791
62	tristate "Analog Devices AD7791 ADC driver"
63	depends on SPI
64	select AD_SIGMA_DELTA
65	help
66	  Say yes here to build support for Analog Devices AD7787, AD7788, AD7789,
67	  AD7790 and AD7791 SPI analog to digital converters (ADC).
68
69	  To compile this driver as a module, choose M here: the module will be
70	  called ad7791.
71
72config AD7793
73	tristate "Analog Devices AD7793 and similar ADCs driver"
74	depends on SPI
75	select AD_SIGMA_DELTA
76	help
77	  Say yes here to build support for Analog Devices AD7785, AD7792, AD7793,
78	  AD7794 and AD7795 SPI analog to digital converters (ADC).
79
80	  To compile this driver as a module, choose M here: the
81	  module will be called AD7793.
82
83config AD7887
84	tristate "Analog Devices AD7887 ADC driver"
85	depends on SPI
86	select IIO_BUFFER
87	select IIO_TRIGGERED_BUFFER
88	help
89	  Say yes here to build support for Analog Devices
90	  AD7887 SPI analog to digital converter (ADC).
91
92	  To compile this driver as a module, choose M here: the
93	  module will be called ad7887.
94
95config AD7923
96	tristate "Analog Devices AD7923 and similar ADCs driver"
97	depends on SPI
98	select IIO_BUFFER
99	select IIO_TRIGGERED_BUFFER
100	help
101	  Say yes here to build support for Analog Devices
102	  AD7904, AD7914, AD7923, AD7924 4 Channel ADCs.
103
104	  To compile this driver as a module, choose M here: the
105	  module will be called ad7923.
106
107config AD799X
108	tristate "Analog Devices AD799x ADC driver"
109	depends on I2C
110	select IIO_BUFFER
111	select IIO_TRIGGERED_BUFFER
112	help
113	  Say yes here to build support for Analog Devices:
114	  ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
115	  i2c analog to digital converters (ADC). Provides direct access
116	  via sysfs.
117
118	  To compile this driver as a module, choose M here: the module will be
119	  called ad799x.
120
121config AT91_ADC
122	tristate "Atmel AT91 ADC"
123	depends on ARCH_AT91
124	depends on INPUT
125	select IIO_BUFFER
126	select IIO_TRIGGERED_BUFFER
127	select SYSFS
128	help
129	  Say yes here to build support for Atmel AT91 ADC.
130
131	  To compile this driver as a module, choose M here: the module will be
132	  called at91_adc.
133
134config AT91_SAMA5D2_ADC
135	tristate "Atmel AT91 SAMA5D2 ADC"
136	depends on ARCH_AT91 || COMPILE_TEST
137	depends on HAS_IOMEM
138	help
139	  Say yes here to build support for Atmel SAMA5D2 ADC which is
140	  available on SAMA5D2 SoC family.
141
142	  To compile this driver as a module, choose M here: the module will be
143	  called at91-sama5d2_adc.
144
145config AXP288_ADC
146	tristate "X-Powers AXP288 ADC driver"
147	depends on MFD_AXP20X
148	help
149	  Say yes here to have support for X-Powers power management IC (PMIC) ADC
150	  device. Depending on platform configuration, this general purpose ADC can
151	  be used for sampling sensors such as thermal resistors.
152
153	  To compile this driver as a module, choose M here: the module will be
154	  called axp288_adc.
155
156config BCM_IPROC_ADC
157	tristate "Broadcom IPROC ADC driver"
158	depends on ARCH_BCM_IPROC || COMPILE_TEST
159	depends on MFD_SYSCON
160	default ARCH_BCM_CYGNUS
161	help
162	  Say Y here if you want to add support for the Broadcom static
163	  ADC driver.
164
165	  Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8
166	  channels. The driver allows the user to read voltage values.
167
168config BERLIN2_ADC
169	tristate "Marvell Berlin2 ADC driver"
170	depends on ARCH_BERLIN
171	help
172	  Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
173	  temperature measurement.
174
175config CC10001_ADC
176	tristate "Cosmic Circuits 10001 ADC driver"
177	depends on HAS_IOMEM && HAVE_CLK && REGULATOR
178	select IIO_BUFFER
179	select IIO_TRIGGERED_BUFFER
180	help
181	  Say yes here to build support for Cosmic Circuits 10001 ADC.
182
183	  This driver can also be built as a module. If so, the module will be
184	  called cc10001_adc.
185
186config DA9150_GPADC
187	tristate "Dialog DA9150 GPADC driver support"
188	depends on MFD_DA9150
189	help
190	  Say yes here to build support for Dialog DA9150 GPADC.
191
192	  This driver can also be built as a module. If chosen, the module name
193	  will be da9150-gpadc.
194
195	  To compile this driver as a module, choose M here: the module will be
196	  called berlin2-adc.
197
198config EXYNOS_ADC
199	tristate "Exynos ADC driver support"
200	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
201	depends on HAS_IOMEM
202	help
203	  Core support for the ADC block found in the Samsung EXYNOS series
204	  of SoCs for drivers such as the touchscreen and hwmon to use to share
205	  this resource.
206
207	  To compile this driver as a module, choose M here: the module will be
208	  called exynos_adc.
209
210config FSL_MX25_ADC
211	tristate "Freescale MX25 ADC driver"
212	depends on MFD_MX25_TSADC
213	help
214	  Generic Conversion Queue driver used for general purpose ADC in the
215	  MX25. This driver supports single measurements using the MX25 ADC.
216
217config HI8435
218	tristate "Holt Integrated Circuits HI-8435 threshold detector"
219	select IIO_TRIGGERED_EVENT
220	depends on SPI
221	help
222	  If you say yes here you get support for Holt Integrated Circuits
223	  HI-8435 chip.
224
225	  This driver can also be built as a module. If so, the module will be
226	  called hi8435.
227
228config INA2XX_ADC
229	tristate "Texas Instruments INA2xx Power Monitors IIO driver"
230	depends on I2C && !SENSORS_INA2XX
231	select REGMAP_I2C
232	select IIO_BUFFER
233	select IIO_KFIFO_BUF
234	help
235	  Say yes here to build support for TI INA2xx family of Power Monitors.
236	  This driver is mutually exclusive with the HWMON version.
237
238config IMX7D_ADC
239	tristate "IMX7D ADC driver"
240	depends on ARCH_MXC || COMPILE_TEST
241	depends on HAS_IOMEM
242	help
243	  Say yes here to build support for IMX7D ADC.
244
245	  This driver can also be built as a module. If so, the module will be
246	  called imx7d_adc.
247
248config LP8788_ADC
249	tristate "LP8788 ADC driver"
250	depends on MFD_LP8788
251	help
252	  Say yes here to build support for TI LP8788 ADC.
253
254	  To compile this driver as a module, choose M here: the module will be
255	  called lp8788_adc.
256
257config LPC18XX_ADC
258	tristate "NXP LPC18xx ADC driver"
259	depends on ARCH_LPC18XX || COMPILE_TEST
260	depends on OF && HAS_IOMEM
261	help
262	  Say yes here to build support for NXP LPC18XX ADC.
263
264	  To compile this driver as a module, choose M here: the module will be
265	  called lpc18xx_adc.
266
267config MAX1027
268	tristate "Maxim max1027 ADC driver"
269	depends on SPI
270	select IIO_BUFFER
271	select IIO_TRIGGERED_BUFFER
272	help
273	  Say yes here to build support for Maxim SPI ADC models
274	  max1027, max1029 and max1031.
275
276	  To compile this driver as a module, choose M here: the module will be
277	  called max1027.
278
279config MAX1363
280	tristate "Maxim max1363 ADC driver"
281	depends on I2C
282	select IIO_BUFFER
283	select IIO_TRIGGERED_BUFFER
284	help
285	  Say yes here to build support for many Maxim i2c analog to digital
286	  converters (ADC). (max1361, max1362, max1363, max1364, max1036,
287	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
288	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
289	  max11602, max11603, max11604, max11605, max11606, max11607,
290	  max11608, max11609, max11610, max11611, max11612, max11613,
291	  max11614, max11615, max11616, max11617, max11644, max11645,
292	  max11646, max11647) Provides direct access via sysfs and buffered
293	  data via the iio dev interface.
294
295	  To compile this driver as a module, choose M here: the module will be
296	  called max1363.
297
298config MCP320X
299	tristate "Microchip Technology MCP3x01/02/04/08"
300	depends on SPI
301	help
302	  Say yes here to build support for Microchip Technology's
303	  MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
304	  MCP3208 or MCP3301 analog to digital converter.
305
306	  This driver can also be built as a module. If so, the module will be
307	  called mcp320x.
308
309config MCP3422
310	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
311	depends on I2C
312	help
313	  Say yes here to build support for Microchip Technology's MCP3421
314	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
315	  analog to digital converters.
316
317	  This driver can also be built as a module. If so, the module will be
318	  called mcp3422.
319
320config MEDIATEK_MT6577_AUXADC
321        tristate "MediaTek AUXADC driver"
322        depends on ARCH_MEDIATEK || COMPILE_TEST
323        depends on HAS_IOMEM
324        help
325          Say yes here to enable support for MediaTek mt65xx AUXADC.
326
327          The driver supports immediate mode operation to read from one of sixteen
328          channels (external or internal).
329
330          This driver can also be built as a module. If so, the module will be
331          called mt6577_auxadc.
332
333config MEN_Z188_ADC
334	tristate "MEN 16z188 ADC IP Core support"
335	depends on MCB
336	help
337	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
338	  carrier.
339
340	  This driver can also be built as a module. If so, the module will be
341	  called men_z188_adc.
342
343config MXS_LRADC
344        tristate "Freescale i.MX23/i.MX28 LRADC"
345        depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
346        depends on INPUT
347        select STMP_DEVICE
348        select IIO_BUFFER
349        select IIO_TRIGGERED_BUFFER
350        help
351          Say yes here to build support for i.MX23/i.MX28 LRADC convertor
352          built into these chips.
353
354          To compile this driver as a module, choose M here: the
355          module will be called mxs-lradc.
356
357config NAU7802
358	tristate "Nuvoton NAU7802 ADC driver"
359	depends on I2C
360	help
361	  Say yes here to build support for Nuvoton NAU7802 ADC.
362
363	  To compile this driver as a module, choose M here: the
364	  module will be called nau7802.
365
366config PALMAS_GPADC
367	tristate "TI Palmas General Purpose ADC"
368	depends on MFD_PALMAS
369	help
370	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
371	  is used in smartphones and tablets and supports a 16 channel
372	  general purpose ADC.
373
374config QCOM_SPMI_IADC
375	tristate "Qualcomm SPMI PMIC current ADC"
376	depends on SPMI
377	select REGMAP_SPMI
378	help
379	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
380
381	  The driver supports single mode operation to read from one of two
382	  channels (external or internal). Hardware have additional
383	  channels internally used for gain and offset calibration.
384
385	  To compile this driver as a module, choose M here: the module will
386	  be called qcom-spmi-iadc.
387
388config QCOM_SPMI_VADC
389	tristate "Qualcomm SPMI PMIC voltage ADC"
390	depends on SPMI
391	select REGMAP_SPMI
392	help
393	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
394
395	  The driver supports multiple channels read. The VADC is a 15-bit
396	  sigma-delta ADC. Some of the channels are internally used for
397	  calibration.
398
399	  To compile this driver as a module, choose M here: the module will
400	  be called qcom-spmi-vadc.
401
402config ROCKCHIP_SARADC
403	tristate "Rockchip SARADC driver"
404	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
405	depends on RESET_CONTROLLER
406	help
407	  Say yes here to build support for the SARADC found in SoCs from
408	  Rockchip.
409
410	  To compile this driver as a module, choose M here: the
411	  module will be called rockchip_saradc.
412
413config TI_ADC081C
414	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
415	depends on I2C
416	help
417	  If you say yes here you get support for Texas Instruments ADC081C,
418	  ADC101C and ADC121C ADC chips.
419
420	  This driver can also be built as a module. If so, the module will be
421	  called ti-adc081c.
422
423config TI_ADC0832
424	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
425	depends on SPI
426	help
427	  If you say yes here you get support for Texas Instruments ADC0831,
428	  ADC0832, ADC0834, ADC0838 ADC chips.
429
430	  This driver can also be built as a module. If so, the module will be
431	  called ti-adc0832.
432
433config TI_ADC128S052
434	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
435	depends on SPI
436	help
437	  If you say yes here you get support for Texas Instruments ADC128S052,
438	  ADC122S021 and ADC124S021 chips.
439
440	  This driver can also be built as a module. If so, the module will be
441	  called ti-adc128s052.
442
443config TI_ADC161S626
444	tristate "Texas Instruments ADC161S626 1-channel differential ADC"
445	depends on SPI
446	select IIO_BUFFER
447	select IIO_TRIGGERED_BUFFER
448	help
449	  If you say yes here you get support for Texas Instruments ADC141S626,
450	  and ADC161S626 chips.
451
452	  This driver can also be built as a module. If so, the module will be
453	  called ti-adc161s626.
454
455config TI_ADS1015
456	tristate "Texas Instruments ADS1015 ADC"
457	depends on I2C && !SENSORS_ADS1015
458	select REGMAP_I2C
459	select IIO_BUFFER
460	select IIO_TRIGGERED_BUFFER
461	help
462	  If you say yes here you get support for Texas Instruments ADS1015
463	  ADC chip.
464
465	  This driver can also be built as a module. If so, the module will be
466	  called ti-ads1015.
467
468config TI_ADS8688
469	tristate "Texas Instruments ADS8688"
470	depends on SPI && OF
471	help
472	  If you say yes here you get support for Texas Instruments ADS8684 and
473	  and ADS8688 ADC chips
474
475	  This driver can also be built as a module. If so, the module will be
476	  called ti-ads8688.
477
478config TI_AM335X_ADC
479	tristate "TI's AM335X ADC driver"
480	depends on MFD_TI_AM335X_TSCADC
481	select IIO_BUFFER
482	select IIO_KFIFO_BUF
483	help
484	  Say yes here to build support for Texas Instruments ADC
485	  driver which is also a MFD client.
486
487	  To compile this driver as a module, choose M here: the module will be
488	  called ti_am335x_adc.
489
490config TWL4030_MADC
491	tristate "TWL4030 MADC (Monitoring A/D Converter)"
492	depends on TWL4030_CORE
493	help
494	  This driver provides support for Triton TWL4030-MADC. The
495	  driver supports both RT and SW conversion methods.
496
497	  This driver can also be built as a module. If so, the module will be
498	  called twl4030-madc.
499
500config TWL6030_GPADC
501	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
502	depends on TWL4030_CORE
503	default n
504	help
505	  Say yes here if you want support for the TWL6030/TWL6032 General
506	  Purpose A/D Converter. This will add support for battery type
507	  detection, battery voltage and temperature measurement, die
508	  temperature measurement, system supply voltage, audio accessory,
509	  USB ID detection.
510
511	  This driver can also be built as a module. If so, the module will be
512	  called twl6030-gpadc.
513
514config VF610_ADC
515	tristate "Freescale vf610 ADC driver"
516	depends on OF
517	depends on HAS_IOMEM
518	select IIO_BUFFER
519	select IIO_TRIGGERED_BUFFER
520	help
521	  Say yes here to support for Vybrid board analog-to-digital converter.
522	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
523
524	  This driver can also be built as a module. If so, the module will be
525	  called vf610_adc.
526
527config VIPERBOARD_ADC
528	tristate "Viperboard ADC support"
529	depends on MFD_VIPERBOARD && USB
530	help
531	  Say yes here to access the ADC part of the Nano River
532	  Technologies Viperboard.
533
534	  To compile this driver as a module, choose M here: the module will be
535	  called viperboard_adc.
536
537config XILINX_XADC
538	tristate "Xilinx XADC driver"
539	depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
540	depends on HAS_IOMEM
541	select IIO_BUFFER
542	select IIO_TRIGGERED_BUFFER
543	help
544	  Say yes here to have support for the Xilinx XADC. The driver does support
545	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
546
547	  The driver can also be build as a module. If so, the module will be called
548	  xilinx-xadc.
549
550endmenu
551