xref: /openbmc/linux/drivers/iio/adc/Kconfig (revision 293d5b43)
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 MEN_Z188_ADC
321	tristate "MEN 16z188 ADC IP Core support"
322	depends on MCB
323	help
324	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
325	  carrier.
326
327	  This driver can also be built as a module. If so, the module will be
328	  called men_z188_adc.
329
330config MXS_LRADC
331        tristate "Freescale i.MX23/i.MX28 LRADC"
332        depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
333        depends on INPUT
334        select STMP_DEVICE
335        select IIO_BUFFER
336        select IIO_TRIGGERED_BUFFER
337        help
338          Say yes here to build support for i.MX23/i.MX28 LRADC convertor
339          built into these chips.
340
341          To compile this driver as a module, choose M here: the
342          module will be called mxs-lradc.
343
344config NAU7802
345	tristate "Nuvoton NAU7802 ADC driver"
346	depends on I2C
347	help
348	  Say yes here to build support for Nuvoton NAU7802 ADC.
349
350	  To compile this driver as a module, choose M here: the
351	  module will be called nau7802.
352
353config PALMAS_GPADC
354	tristate "TI Palmas General Purpose ADC"
355	depends on MFD_PALMAS
356	help
357	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
358	  is used in smartphones and tablets and supports a 16 channel
359	  general purpose ADC.
360
361config QCOM_SPMI_IADC
362	tristate "Qualcomm SPMI PMIC current ADC"
363	depends on SPMI
364	select REGMAP_SPMI
365	help
366	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
367
368	  The driver supports single mode operation to read from one of two
369	  channels (external or internal). Hardware have additional
370	  channels internally used for gain and offset calibration.
371
372	  To compile this driver as a module, choose M here: the module will
373	  be called qcom-spmi-iadc.
374
375config QCOM_SPMI_VADC
376	tristate "Qualcomm SPMI PMIC voltage ADC"
377	depends on SPMI
378	select REGMAP_SPMI
379	help
380	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
381
382	  The driver supports multiple channels read. The VADC is a 15-bit
383	  sigma-delta ADC. Some of the channels are internally used for
384	  calibration.
385
386	  To compile this driver as a module, choose M here: the module will
387	  be called qcom-spmi-vadc.
388
389config ROCKCHIP_SARADC
390	tristate "Rockchip SARADC driver"
391	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
392	help
393	  Say yes here to build support for the SARADC found in SoCs from
394	  Rockchip.
395
396	  To compile this driver as a module, choose M here: the
397	  module will be called rockchip_saradc.
398
399config TI_ADC081C
400	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
401	depends on I2C
402	help
403	  If you say yes here you get support for Texas Instruments ADC081C,
404	  ADC101C and ADC121C ADC chips.
405
406	  This driver can also be built as a module. If so, the module will be
407	  called ti-adc081c.
408
409config TI_ADC0832
410	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
411	depends on SPI
412	help
413	  If you say yes here you get support for Texas Instruments ADC0831,
414	  ADC0832, ADC0834, ADC0838 ADC chips.
415
416	  This driver can also be built as a module. If so, the module will be
417	  called ti-adc0832.
418
419config TI_ADC128S052
420	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
421	depends on SPI
422	help
423	  If you say yes here you get support for Texas Instruments ADC128S052,
424	  ADC122S021 and ADC124S021 chips.
425
426	  This driver can also be built as a module. If so, the module will be
427	  called ti-adc128s052.
428
429config TI_ADS1015
430	tristate "Texas Instruments ADS1015 ADC"
431	depends on I2C && !SENSORS_ADS1015
432	select REGMAP_I2C
433	select IIO_BUFFER
434	select IIO_TRIGGERED_BUFFER
435	help
436	  If you say yes here you get support for Texas Instruments ADS1015
437	  ADC chip.
438
439	  This driver can also be built as a module. If so, the module will be
440	  called ti-ads1015.
441
442config TI_ADS8688
443	tristate "Texas Instruments ADS8688"
444	depends on SPI && OF
445	help
446	  If you say yes here you get support for Texas Instruments ADS8684 and
447	  and ADS8688 ADC chips
448
449	  This driver can also be built as a module. If so, the module will be
450	  called ti-ads8688.
451
452config TI_AM335X_ADC
453	tristate "TI's AM335X ADC driver"
454	depends on MFD_TI_AM335X_TSCADC
455	select IIO_BUFFER
456	select IIO_KFIFO_BUF
457	help
458	  Say yes here to build support for Texas Instruments ADC
459	  driver which is also a MFD client.
460
461	  To compile this driver as a module, choose M here: the module will be
462	  called ti_am335x_adc.
463
464config TWL4030_MADC
465	tristate "TWL4030 MADC (Monitoring A/D Converter)"
466	depends on TWL4030_CORE
467	help
468	  This driver provides support for Triton TWL4030-MADC. The
469	  driver supports both RT and SW conversion methods.
470
471	  This driver can also be built as a module. If so, the module will be
472	  called twl4030-madc.
473
474config TWL6030_GPADC
475	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
476	depends on TWL4030_CORE
477	default n
478	help
479	  Say yes here if you want support for the TWL6030/TWL6032 General
480	  Purpose A/D Converter. This will add support for battery type
481	  detection, battery voltage and temperature measurement, die
482	  temperature measurement, system supply voltage, audio accessory,
483	  USB ID detection.
484
485	  This driver can also be built as a module. If so, the module will be
486	  called twl6030-gpadc.
487
488config VF610_ADC
489	tristate "Freescale vf610 ADC driver"
490	depends on OF
491	depends on HAS_IOMEM
492	select IIO_BUFFER
493	select IIO_TRIGGERED_BUFFER
494	help
495	  Say yes here to support for Vybrid board analog-to-digital converter.
496	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
497
498	  This driver can also be built as a module. If so, the module will be
499	  called vf610_adc.
500
501config VIPERBOARD_ADC
502	tristate "Viperboard ADC support"
503	depends on MFD_VIPERBOARD && USB
504	help
505	  Say yes here to access the ADC part of the Nano River
506	  Technologies Viperboard.
507
508	  To compile this driver as a module, choose M here: the module will be
509	  called viperboard_adc.
510
511config XILINX_XADC
512	tristate "Xilinx XADC driver"
513	depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
514	depends on HAS_IOMEM
515	select IIO_BUFFER
516	select IIO_TRIGGERED_BUFFER
517	help
518	  Say yes here to have support for the Xilinx XADC. The driver does support
519	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
520
521	  The driver can also be build as a module. If so, the module will be called
522	  xilinx-xadc.
523
524endmenu
525