xref: /openbmc/linux/drivers/iio/adc/Kconfig (revision 3e26a691)
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	help
138	  Say yes here to build support for Atmel SAMA5D2 ADC which is
139	  available on SAMA5D2 SoC family.
140
141	  To compile this driver as a module, choose M here: the module will be
142	  called at91-sama5d2_adc.
143
144config AXP288_ADC
145	tristate "X-Powers AXP288 ADC driver"
146	depends on MFD_AXP20X
147	help
148	  Say yes here to have support for X-Powers power management IC (PMIC) ADC
149	  device. Depending on platform configuration, this general purpose ADC can
150	  be used for sampling sensors such as thermal resistors.
151
152	  To compile this driver as a module, choose M here: the module will be
153	  called axp288_adc.
154
155config BERLIN2_ADC
156	tristate "Marvell Berlin2 ADC driver"
157	depends on ARCH_BERLIN
158	help
159	  Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for
160	  temperature measurement.
161
162config CC10001_ADC
163	tristate "Cosmic Circuits 10001 ADC driver"
164	depends on HAS_IOMEM && HAVE_CLK && REGULATOR
165	select IIO_BUFFER
166	select IIO_TRIGGERED_BUFFER
167	help
168	  Say yes here to build support for Cosmic Circuits 10001 ADC.
169
170	  This driver can also be built as a module. If so, the module will be
171	  called cc10001_adc.
172
173config DA9150_GPADC
174	tristate "Dialog DA9150 GPADC driver support"
175	depends on MFD_DA9150
176	help
177	  Say yes here to build support for Dialog DA9150 GPADC.
178
179	  This driver can also be built as a module. If chosen, the module name
180	  will be da9150-gpadc.
181
182	  To compile this driver as a module, choose M here: the module will be
183	  called berlin2-adc.
184
185config EXYNOS_ADC
186	tristate "Exynos ADC driver support"
187	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
188	depends on HAS_IOMEM
189	help
190	  Core support for the ADC block found in the Samsung EXYNOS series
191	  of SoCs for drivers such as the touchscreen and hwmon to use to share
192	  this resource.
193
194	  To compile this driver as a module, choose M here: the module will be
195	  called exynos_adc.
196
197config FSL_MX25_ADC
198	tristate "Freescale MX25 ADC driver"
199	depends on MFD_MX25_TSADC
200	help
201	  Generic Conversion Queue driver used for general purpose ADC in the
202	  MX25. This driver supports single measurements using the MX25 ADC.
203
204config HI8435
205	tristate "Holt Integrated Circuits HI-8435 threshold detector"
206	select IIO_TRIGGERED_EVENT
207	depends on SPI
208	help
209	  If you say yes here you get support for Holt Integrated Circuits
210	  HI-8435 chip.
211
212	  This driver can also be built as a module. If so, the module will be
213	  called hi8435.
214
215config INA2XX_ADC
216	tristate "Texas Instruments INA2xx Power Monitors IIO driver"
217	depends on I2C && !SENSORS_INA2XX
218	select REGMAP_I2C
219	select IIO_BUFFER
220	select IIO_KFIFO_BUF
221	help
222	  Say yes here to build support for TI INA2xx family of Power Monitors.
223	  This driver is mutually exclusive with the HWMON version.
224
225config IMX7D_ADC
226	tristate "IMX7D ADC driver"
227	depends on ARCH_MXC || COMPILE_TEST
228	depends on HAS_IOMEM
229	help
230	  Say yes here to build support for IMX7D ADC.
231
232	  This driver can also be built as a module. If so, the module will be
233	  called imx7d_adc.
234
235config LP8788_ADC
236	tristate "LP8788 ADC driver"
237	depends on MFD_LP8788
238	help
239	  Say yes here to build support for TI LP8788 ADC.
240
241	  To compile this driver as a module, choose M here: the module will be
242	  called lp8788_adc.
243
244config MAX1027
245	tristate "Maxim max1027 ADC driver"
246	depends on SPI
247	select IIO_BUFFER
248	select IIO_TRIGGERED_BUFFER
249	help
250	  Say yes here to build support for Maxim SPI ADC models
251	  max1027, max1029 and max1031.
252
253	  To compile this driver as a module, choose M here: the module will be
254	  called max1027.
255
256config MAX1363
257	tristate "Maxim max1363 ADC driver"
258	depends on I2C
259	select IIO_BUFFER
260	select IIO_TRIGGERED_BUFFER
261	help
262	  Say yes here to build support for many Maxim i2c analog to digital
263	  converters (ADC). (max1361, max1362, max1363, max1364, max1036,
264	  max1037, max1038, max1039, max1136, max1136, max1137, max1138,
265	  max1139, max1236, max1237, max11238, max1239, max11600, max11601,
266	  max11602, max11603, max11604, max11605, max11606, max11607,
267	  max11608, max11609, max11610, max11611, max11612, max11613,
268	  max11614, max11615, max11616, max11617, max11644, max11645,
269	  max11646, max11647) Provides direct access via sysfs and buffered
270	  data via the iio dev interface.
271
272	  To compile this driver as a module, choose M here: the module will be
273	  called max1363.
274
275config MCP320X
276	tristate "Microchip Technology MCP3x01/02/04/08"
277	depends on SPI
278	help
279	  Say yes here to build support for Microchip Technology's
280	  MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204,
281	  MCP3208 or MCP3301 analog to digital converter.
282
283	  This driver can also be built as a module. If so, the module will be
284	  called mcp320x.
285
286config MCP3422
287	tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver"
288	depends on I2C
289	help
290	  Say yes here to build support for Microchip Technology's MCP3421
291	  MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428
292	  analog to digital converters.
293
294	  This driver can also be built as a module. If so, the module will be
295	  called mcp3422.
296
297config MEN_Z188_ADC
298	tristate "MEN 16z188 ADC IP Core support"
299	depends on MCB
300	help
301	  Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB
302	  carrier.
303
304	  This driver can also be built as a module. If so, the module will be
305	  called men_z188_adc.
306
307config MXS_LRADC
308        tristate "Freescale i.MX23/i.MX28 LRADC"
309        depends on (ARCH_MXS || COMPILE_TEST) && HAS_IOMEM
310        depends on INPUT
311        select STMP_DEVICE
312        select IIO_BUFFER
313        select IIO_TRIGGERED_BUFFER
314        help
315          Say yes here to build support for i.MX23/i.MX28 LRADC convertor
316          built into these chips.
317
318          To compile this driver as a module, choose M here: the
319          module will be called mxs-lradc.
320
321config NAU7802
322	tristate "Nuvoton NAU7802 ADC driver"
323	depends on I2C
324	help
325	  Say yes here to build support for Nuvoton NAU7802 ADC.
326
327	  To compile this driver as a module, choose M here: the
328	  module will be called nau7802.
329
330config PALMAS_GPADC
331	tristate "TI Palmas General Purpose ADC"
332	depends on MFD_PALMAS
333	help
334	  Palmas series pmic chip by Texas Instruments (twl6035/6037)
335	  is used in smartphones and tablets and supports a 16 channel
336	  general purpose ADC.
337
338config QCOM_SPMI_IADC
339	tristate "Qualcomm SPMI PMIC current ADC"
340	depends on SPMI
341	select REGMAP_SPMI
342	help
343	  This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip.
344
345	  The driver supports single mode operation to read from one of two
346	  channels (external or internal). Hardware have additional
347	  channels internally used for gain and offset calibration.
348
349	  To compile this driver as a module, choose M here: the module will
350	  be called qcom-spmi-iadc.
351
352config QCOM_SPMI_VADC
353	tristate "Qualcomm SPMI PMIC voltage ADC"
354	depends on SPMI
355	select REGMAP_SPMI
356	help
357	  This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip.
358
359	  The driver supports multiple channels read. The VADC is a 15-bit
360	  sigma-delta ADC. Some of the channels are internally used for
361	  calibration.
362
363	  To compile this driver as a module, choose M here: the module will
364	  be called qcom-spmi-vadc.
365
366config ROCKCHIP_SARADC
367	tristate "Rockchip SARADC driver"
368	depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST)
369	help
370	  Say yes here to build support for the SARADC found in SoCs from
371	  Rockchip.
372
373	  To compile this driver as a module, choose M here: the
374	  module will be called rockchip_saradc.
375
376config TI_ADC081C
377	tristate "Texas Instruments ADC081C021/027"
378	depends on I2C
379	help
380	  If you say yes here you get support for Texas Instruments ADC081C021
381	  and ADC081C027 ADC chips.
382
383	  This driver can also be built as a module. If so, the module will be
384	  called ti-adc081c.
385
386config TI_ADC0832
387	tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838"
388	depends on SPI
389	help
390	  If you say yes here you get support for Texas Instruments ADC0831,
391	  ADC0832, ADC0834, ADC0838 ADC chips.
392
393	  This driver can also be built as a module. If so, the module will be
394	  called ti-adc0832.
395
396config TI_ADC128S052
397	tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
398	depends on SPI
399	help
400	  If you say yes here you get support for Texas Instruments ADC128S052,
401	  ADC122S021 and ADC124S021 chips.
402
403	  This driver can also be built as a module. If so, the module will be
404	  called ti-adc128s052.
405
406config TI_ADS1015
407	tristate "Texas Instruments ADS1015 ADC"
408	depends on I2C && !SENSORS_ADS1015
409	select REGMAP_I2C
410	select IIO_BUFFER
411	select IIO_TRIGGERED_BUFFER
412	help
413	  If you say yes here you get support for Texas Instruments ADS1015
414	  ADC chip.
415
416	  This driver can also be built as a module. If so, the module will be
417	  called ti-ads1015.
418
419config TI_ADS8688
420	tristate "Texas Instruments ADS8688"
421	depends on SPI && OF
422	help
423	  If you say yes here you get support for Texas Instruments ADS8684 and
424	  and ADS8688 ADC chips
425
426	  This driver can also be built as a module. If so, the module will be
427	  called ti-ads8688.
428
429config TI_AM335X_ADC
430	tristate "TI's AM335X ADC driver"
431	depends on MFD_TI_AM335X_TSCADC
432	select IIO_BUFFER
433	select IIO_KFIFO_BUF
434	help
435	  Say yes here to build support for Texas Instruments ADC
436	  driver which is also a MFD client.
437
438	  To compile this driver as a module, choose M here: the module will be
439	  called ti_am335x_adc.
440
441config TWL4030_MADC
442	tristate "TWL4030 MADC (Monitoring A/D Converter)"
443	depends on TWL4030_CORE
444	help
445	  This driver provides support for Triton TWL4030-MADC. The
446	  driver supports both RT and SW conversion methods.
447
448	  This driver can also be built as a module. If so, the module will be
449	  called twl4030-madc.
450
451config TWL6030_GPADC
452	tristate "TWL6030 GPADC (General Purpose A/D Converter) Support"
453	depends on TWL4030_CORE
454	default n
455	help
456	  Say yes here if you want support for the TWL6030/TWL6032 General
457	  Purpose A/D Converter. This will add support for battery type
458	  detection, battery voltage and temperature measurement, die
459	  temperature measurement, system supply voltage, audio accessory,
460	  USB ID detection.
461
462	  This driver can also be built as a module. If so, the module will be
463	  called twl6030-gpadc.
464
465config VF610_ADC
466	tristate "Freescale vf610 ADC driver"
467	depends on OF
468	depends on HAS_IOMEM
469	select IIO_BUFFER
470	select IIO_TRIGGERED_BUFFER
471	help
472	  Say yes here to support for Vybrid board analog-to-digital converter.
473	  Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX.
474
475	  This driver can also be built as a module. If so, the module will be
476	  called vf610_adc.
477
478config VIPERBOARD_ADC
479	tristate "Viperboard ADC support"
480	depends on MFD_VIPERBOARD && USB
481	help
482	  Say yes here to access the ADC part of the Nano River
483	  Technologies Viperboard.
484
485	  To compile this driver as a module, choose M here: the module will be
486	  called viperboard_adc.
487
488config XILINX_XADC
489	tristate "Xilinx XADC driver"
490	depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
491	depends on HAS_IOMEM
492	select IIO_BUFFER
493	select IIO_TRIGGERED_BUFFER
494	help
495	  Say yes here to have support for the Xilinx XADC. The driver does support
496	  both the ZYNQ interface to the XADC as well as the AXI-XADC interface.
497
498	  The driver can also be build as a module. If so, the module will be called
499	  xilinx-xadc.
500
501endmenu
502