xref: /linux/drivers/iio/dac/Kconfig (revision 081ce276d801d7c0a3dc41aa9a02ff73eb96c94a)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# DAC drivers
4#
5# When adding new entries keep the list in alphabetical order
6
7menu "Digital to analog converters"
8
9config AD3530R
10	tristate "Analog Devices AD3530R and Similar DACs driver"
11	depends on SPI
12	select REGMAP_SPI
13	help
14	  Say yes here to build support for Analog Devices AD3530R, AD3531R
15	  Digital to Analog Converter.
16
17	  To compile this driver as a module, choose M here: the
18	  module will be called ad3530r.
19
20config AD3552R_HS
21	tristate "Analog Devices AD3552R DAC High Speed driver"
22	select AD3552R_LIB
23	select IIO_BACKEND
24	help
25	  Say yes here to build support for Analog Devices AD3552R
26	  Digital to Analog Converter High Speed driver.
27
28	  The driver requires the assistance of an IP core to operate,
29	  since data is streamed into target device via DMA, sent over a
30	  QSPI + DDR (Double Data Rate) bus.
31
32	  To compile this driver as a module, choose M here: the
33	  module will be called ad3552r-hs.
34
35config AD3552R_LIB
36	tristate
37
38config AD3552R
39	tristate "Analog Devices AD3552R DAC driver"
40	depends on SPI_MASTER
41	select AD3552R_LIB
42	select IIO_BUFFER
43	select IIO_TRIGGERED_BUFFER
44	help
45	  Say yes here to build support for Analog Devices AD3552R
46	  Digital to Analog Converter.
47
48	  To compile this driver as a module, choose M here: the
49	  module will be called ad3552r.
50
51config AD5064
52	tristate "Analog Devices AD5064 and similar multi-channel DAC driver"
53	depends on (SPI_MASTER && I2C!=m) || I2C
54	help
55	  Say yes here to build support for Analog Devices AD5024, AD5025, AD5044,
56	  AD5045, AD5064, AD5064-1, AD5065, AD5625, AD5625R, AD5627, AD5627R,
57	  AD5628, AD5629R, AD5645R, AD5647R, AD5648, AD5665, AD5665R, AD5666,
58	  AD5667, AD5667R, AD5668, AD5669R, LTC2606, LTC2607, LTC2609, LTC2616,
59	  LTC2617, LTC2619, LTC2626, LTC2627, LTC2629, LTC2631, LTC2633, LTC2635
60	  Digital to Analog Converter.
61
62	  To compile this driver as a module, choose M here: the
63	  module will be called ad5064.
64
65config AD5360
66	tristate "Analog Devices AD5360/61/62/63/70/71/73 DAC driver"
67	depends on SPI
68	help
69	  Say yes here to build support for Analog Devices AD5360, AD5361,
70	  AD5362, AD5363, AD5370, AD5371, AD5373 multi-channel
71	  Digital to Analog Converters (DAC).
72
73	  To compile this driver as module choose M here: the module will be called
74	  ad5360.
75
76config AD5380
77	tristate "Analog Devices AD5380/81/82/83/84/90/91/92 DAC driver"
78	depends on (SPI_MASTER && I2C!=m) || I2C
79	select REGMAP_I2C if I2C
80	select REGMAP_SPI if SPI_MASTER
81	help
82	  Say yes here to build support for Analog Devices AD5380, AD5381,
83	  AD5382, AD5383, AD5384, AD5390, AD5391, AD5392 multi-channel
84	  Digital to Analog Converters (DAC).
85
86	  To compile this driver as module choose M here: the module will be called
87	  ad5380.
88
89config AD5421
90	tristate "Analog Devices AD5421 DAC driver"
91	depends on SPI
92	help
93	  Say yes here to build support for Analog Devices AD5421 loop-powered
94	  digital-to-analog converters (DAC).
95
96	  To compile this driver as module choose M here: the module will be called
97	  ad5421.
98
99config AD5446
100	tristate
101
102config AD5446_SPI
103	tristate "Analog Devices AD5446 and similar single channel DACs driver (SPI)"
104	depends on SPI
105	select AD5446
106	help
107	  Say yes here to build support for Analog Devices AD5300, AD5310,
108	  AD5320, AD5444, AD5446, AD5450, AD5451, AD5452, AD5453, AD5512A,
109	  AD5541A, AD5542A, AD5543, AD5553, AD5600, AD5601, AD5611, AD5620,
110	  AD5621, AD5640, AD5641, AD5660, AD5662 DACs as well as
111	  Texas Instruments DAC081S101, DAC101S101, DAC121S101.
112
113	  To compile this driver as a module, choose M here: the
114	  module will be called ad5446-spi.
115
116config AD5446_I2C
117	tristate "Analog Devices AD5446 and similar single channel DACs driver (I2C)"
118	depends on I2C
119	select AD5446
120	help
121	  Say yes here to build support for Analog Devices AD5301, AD5311, AD5321,
122	  AD5602, AD5612, AD5622 DACs.
123
124	  To compile this driver as a module, choose M here: the
125	  module will be called ad5446-i2c.
126
127config AD5449
128	tristate "Analog Devices AD5449 and similar DACs driver"
129	depends on SPI_MASTER
130	help
131	  Say yes here to build support for Analog Devices AD5415, AD5426, AD5429,
132	  AD5432, AD5439, AD5443, AD5449 Digital to Analog Converters.
133
134	  To compile this driver as a module, choose M here: the
135	  module will be called ad5449.
136
137config AD5592R_BASE
138	tristate
139
140config AD5592R
141	tristate "Analog Devices AD5592R ADC/DAC driver"
142	depends on SPI_MASTER
143	select GPIOLIB
144	select AD5592R_BASE
145	help
146	  Say yes here to build support for Analog Devices AD5592R
147	  Digital to Analog / Analog to Digital Converter.
148
149	  To compile this driver as a module, choose M here: the
150	  module will be called ad5592r.
151
152config AD5593R
153	tristate "Analog Devices AD5593R ADC/DAC driver"
154	depends on I2C
155	select GPIOLIB
156	select AD5592R_BASE
157	help
158	  Say yes here to build support for Analog Devices AD5593R
159	  Digital to Analog / Analog to Digital Converter.
160
161	  To compile this driver as a module, choose M here: the
162	  module will be called ad5593r.
163
164config AD5504
165	tristate "Analog Devices AD5504/AD5501 DAC SPI driver"
166	depends on SPI
167	help
168	  Say yes here to build support for Analog Devices AD5504, AD5501,
169	  High Voltage Digital to Analog Converter.
170
171	  To compile this driver as a module, choose M here: the
172	  module will be called ad5504.
173
174config AD5624R_SPI
175	tristate "Analog Devices AD5624/44/64R DAC spi driver"
176	depends on SPI
177	help
178	  Say yes here to build support for Analog Devices AD5624R, AD5644R and
179	  AD5664R converters (DAC). This driver uses the common SPI interface.
180
181config AD5706R
182	tristate "Analog Devices AD5706R DAC driver"
183	depends on SPI
184	select REGMAP
185	help
186	  Say yes here to build support for Analog Devices AD5706R 4-channel,
187	  16-bit current output DAC.
188
189	  To compile this driver as a module, choose M here: the
190	  module will be called ad5706r.
191
192config AD9739A
193	tristate "Analog Devices AD9739A RF DAC spi driver"
194	depends on SPI
195	select REGMAP_SPI
196	select IIO_BACKEND
197	help
198	  Say yes here to build support for Analog Devices AD9739A Digital-to
199	  Analog Converter.
200
201	  The driver requires the assistance of the AXI DAC IP core to operate,
202	  since SPI is used for configuration only, while data has to be
203	  streamed into memory via DMA.
204
205	  To compile this driver as a module, choose M here: the module will be
206	  called ad9739a.
207
208config ADI_AXI_DAC
209	tristate "Analog Devices Generic AXI DAC IP core driver"
210	depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST
211	select IIO_BUFFER
212	select IIO_BUFFER_DMAENGINE
213	select REGMAP_MMIO
214	select IIO_BACKEND
215	help
216	  Say yes here to build support for Analog Devices Generic
217	  AXI DAC IP core. The IP core is used for interfacing with
218	  digital-to-analog (DAC) converters that require either a high-speed
219	  serial interface (JESD204B/C) or a source synchronous parallel
220	  interface (LVDS/CMOS).
221	  Typically (for such devices) SPI will be used for configuration only,
222	  while this IP core handles the streaming of data into memory via DMA.
223
224	  Link: https://wiki.analog.com/resources/fpga/docs/axi_dac_ip
225	  If unsure, say N (but it's safe to say "Y").
226
227	  To compile this driver as a module, choose M here: the
228	  module will be called adi-axi-dac.
229
230config LTC2688
231	tristate "Analog Devices LTC2688 DAC spi driver"
232	depends on SPI
233	select REGMAP
234	help
235	  Say yes here to build support for Analog Devices
236	  LTC2688 converters (DAC).
237
238	  To compile this driver as a module, choose M here: the
239	  module will be called ltc2688.
240
241config AD5686
242	tristate
243
244config AD5686_SPI
245	tristate "Analog Devices AD5686 and similar multi-channel DACs (SPI)"
246	depends on SPI
247	select AD5686
248	help
249	  Say yes here to build support for Analog Devices AD5672R, AD5674R,
250	  AD5676, AD5676R, AD5679R, AD5684, AD5684R, AD5684R, AD5685R, AD5686,
251	  AD5686R Voltage Output Digital to Analog Converter.
252
253	  To compile this driver as a module, choose M here: the
254	  module will be called ad5686.
255
256config AD5696_I2C
257	tristate "Analog Devices AD5696 and similar multi-channel DACs (I2C)"
258	depends on I2C
259	select AD5686
260	help
261	  Say yes here to build support for Analog Devices AD5311R, AD5337,
262	  AD5338R, AD5671R, AD5673R, AD5675R, AD5677R, AD5691R, AD5692R, AD5693,
263	  AD5693R, AD5694, AD5694R, AD5695R, AD5696, and AD5696R Digital to
264	  Analog converters.
265
266	  To compile this driver as a module, choose M here: the module will be
267	  called ad5696.
268
269config AD5755
270	tristate "Analog Devices AD5755/AD5755-1/AD5757/AD5735/AD5737 DAC driver"
271	depends on SPI_MASTER
272	help
273	  Say yes here to build support for Analog Devices AD5755, AD5755-1,
274	  AD5757, AD5735, AD5737 quad channel Digital to
275	  Analog Converter.
276
277	  To compile this driver as a module, choose M here: the
278	  module will be called ad5755.
279
280config AD5758
281	tristate "Analog Devices AD5758 DAC driver"
282	depends on SPI_MASTER
283	help
284	  Say yes here to build support for Analog Devices AD5758 single channel
285	  Digital to Analog Converter.
286
287	  To compile this driver as a module, choose M here: the
288	  module will be called ad5758.
289
290config AD5761
291	tristate "Analog Devices AD5761/61R/21/21R DAC driver"
292	depends on SPI_MASTER
293	help
294	  Say yes here to build support for Analog Devices AD5761, AD5761R, AD5721,
295	  AD5721R Digital to Analog Converter.
296
297	  To compile this driver as a module, choose M here: the
298	  module will be called ad5761.
299
300config AD5764
301	tristate "Analog Devices AD5764/64R/44/44R DAC driver"
302	depends on SPI_MASTER
303	help
304	  Say yes here to build support for Analog Devices AD5764, AD5764R, AD5744,
305	  AD5744R Digital to Analog Converter.
306
307	  To compile this driver as a module, choose M here: the
308	  module will be called ad5764.
309
310config AD5766
311	tristate "Analog Devices AD5766/AD5767 DAC driver"
312	depends on SPI_MASTER
313	select IIO_BUFFER
314	select IIO_TRIGGERED_BUFFER
315	help
316	  Say yes here to build support for Analog Devices AD5766, AD5767
317	  Digital to Analog Converter.
318
319	  To compile this driver as a module, choose M here: the
320	  module will be called ad5766.
321
322config AD5770R
323	tristate "Analog Devices AD5770R IDAC driver"
324	depends on SPI_MASTER
325	select REGMAP_SPI
326	help
327	  Say yes here to build support for Analog Devices AD5770R Digital to
328	  Analog Converter.
329
330	  To compile this driver as a module, choose M here: the
331	  module will be called ad5770r.
332
333config AD5791
334	tristate "Analog Devices AD5760/AD5780/AD5781/AD5790/AD5791 DAC SPI driver"
335	depends on SPI
336	select SPI_OFFLOAD
337	select IIO_BUFFER
338	select IIO_BUFFER_DMAENGINE
339	help
340	  Say yes here to build support for Analog Devices AD5760, AD5780,
341	  AD5781, AD5790, AD5791 High Resolution Voltage Output Digital to
342	  Analog Converter.
343
344	  To compile this driver as a module, choose M here: the
345	  module will be called ad5791.
346
347config AD7293
348	tristate "Analog Devices AD7293 Power Amplifier Current Controller"
349	depends on SPI
350	help
351	  Say yes here to build support for Analog Devices AD7293
352	  Power Amplifier Current Controller with
353	  ADC, DACs, and Temperature and Current Sensors
354
355	  To compile this driver as a module, choose M here: the
356	  module will be called ad7293.
357
358config AD7303
359	tristate "Analog Devices AD7303 DAC driver"
360	depends on SPI
361	help
362	  Say yes here to build support for Analog Devices AD7303 Digital to Analog
363	  Converters (DAC).
364
365	  To compile this driver as module choose M here: the module will be called
366	  ad7303.
367
368config AD8460
369	tristate "Analog Devices AD8460 DAC driver"
370	depends on SPI
371	select REGMAP_SPI
372	select IIO_BUFFER
373	select IIO_BUFFER_DMAENGINE
374	help
375	  Say yes here to build support for Analog Devices AD8460 Digital to
376	  Analog Converters (DAC).
377
378	  To compile this driver as a module choose M here: the module will be called
379	  ad8460.
380
381config AD8801
382	tristate "Analog Devices AD8801/AD8803 DAC driver"
383	depends on SPI_MASTER
384	help
385	  Say yes here to build support for Analog Devices AD8801, AD8803 Digital to
386	  Analog Converters (DAC).
387
388	  To compile this driver as a module choose M here: the module will be called
389	  ad8801.
390
391config BD79703
392	tristate "ROHM Semiconductor BD79703 DAC driver"
393	depends on SPI
394	select REGMAP_SPI
395	help
396	  Say yes here to build support for ROHM Semiconductor BD79703 Digital
397	  to Analog Converter (DAC).
398
399config CIO_DAC
400	tristate "Measurement Computing CIO-DAC IIO driver"
401	depends on X86 && (ISA_BUS || PC104)
402	select ISA_BUS_API
403	select REGMAP_MMIO
404	help
405	  Say yes here to build support for the Measurement Computing CIO-DAC
406	  analog output device family (CIO-DAC16, CIO-DAC08, PC104-DAC06). The
407	  base port addresses for the devices may be configured via the base
408	  array module parameter.
409
410config DPOT_DAC
411	tristate "DAC emulation using a DPOT"
412	help
413	  Say yes here to build support for DAC emulation using a digital
414	  potentiometer.
415
416	  To compile this driver as a module, choose M here: the module will be
417	  called dpot-dac.
418
419config DS4424
420	tristate "Maxim Integrated DS4422/DS4424 DAC driver"
421	depends on I2C
422	select REGMAP_I2C
423	help
424	  If you say yes here you get support for Maxim chips DS4422, DS4424.
425
426	  This driver can also be built as a module.  If so, the module
427	  will be called ds4424.
428
429config LPC18XX_DAC
430	tristate "NXP LPC18xx DAC driver"
431	depends on ARCH_LPC18XX || COMPILE_TEST
432	depends on HAS_IOMEM
433	help
434	  Say yes here to build support for NXP LPC18XX DAC.
435
436	  To compile this driver as a module, choose M here: the module will be
437	  called lpc18xx_dac.
438
439config LTC1660
440	tristate "Linear Technology LTC1660/LTC1665 DAC SPI driver"
441	depends on SPI
442	select REGMAP_SPI
443	help
444	  Say yes here to build support for Linear Technology
445	  LTC1660 and LTC1665 Digital to Analog Converters.
446
447	  To compile this driver as a module, choose M here: the
448	  module will be called ltc1660.
449
450config LTC2632
451	tristate "Linear Technology LTC2632-12/10/8 and similar DAC spi driver"
452	depends on SPI
453	help
454	  Say yes here to build support for Linear Technology
455	  LTC2632, LTC2634 and LTC2636 DAC resolution 12/10/8 bit
456	  low 0-2.5V and high 0-4.096V range converters.
457
458	  To compile this driver as a module, choose M here: the
459	  module will be called ltc2632.
460
461config LTC2664
462	tristate "Analog Devices LTC2664 and LTC2672 DAC SPI driver"
463	depends on SPI
464	select REGMAP_SPI
465	help
466	  Say yes here to build support for Analog Devices
467	  LTC2664 and LTC2672 converters (DAC).
468
469	  To compile this driver as a module, choose M here: the
470	  module will be called ltc2664.
471
472config M62332
473	tristate "Mitsubishi M62332 DAC driver"
474	depends on I2C
475	help
476	  If you say yes here you get support for the Mitsubishi M62332
477	  (I2C 8-Bit DACs with rail-to-rail outputs).
478
479	  This driver can also be built as a module.  If so, the module
480	  will be called m62332.
481
482config MAX517
483	tristate "Maxim MAX517/518/519/520/521 DAC driver"
484	depends on I2C
485	help
486	  If you say yes here you get support for the following Maxim chips
487	  (I2C 8-Bit DACs with rail-to-rail outputs):
488	  MAX517 - Single channel, single reference
489	  MAX518 - Dual channel, ref=Vdd
490	  MAX519 - Dual channel, dual reference
491	  MAX520 - Quad channel, quad reference
492	  MAX521 - Octal channel, independent ref for ch0-3, shared ref for ch4-7
493
494	  This driver can also be built as a module.  If so, the module
495	  will be called max517.
496
497config MAX22007
498	tristate "Analog Devices MAX22007 DAC Driver"
499	depends on SPI
500	select REGMAP_SPI
501	select CRC8
502	help
503	  Say Y here if you want to build a driver for Analog Devices MAX22007.
504
505	  MAX22007 is a quad-channel, 12-bit, voltage-output digital to
506	  analog converter (DAC) with SPI interface.
507
508	  If compiled as a module, it will be called max22007.
509
510config MAX5522
511	tristate "Maxim MAX5522 DAC driver"
512	depends on SPI_MASTER
513	select REGMAP_SPI
514	help
515	  Say Y here if you want to build a driver for the Maxim MAX5522.
516
517	  MAX5522 is a dual, ultra-low-power, 10-Bit, voltage-output
518	  digital to analog converter (DAC) offering rail-to-rail buffered
519	  voltage outputs.
520
521	  If compiled as a module, it will be called max5522.
522
523config MAX5821
524	tristate "Maxim MAX5821 DAC driver"
525	depends on I2C
526	help
527	  Say yes here to build support for Maxim MAX5821
528	  10 bits DAC.
529
530config MCP4725
531	tristate "MCP4725/6 DAC driver"
532	depends on I2C
533	help
534	  Say Y here if you want to build a driver for the Microchip
535	  MCP 4725/6 12-bit digital-to-analog converter (DAC) with I2C
536	  interface.
537
538	  To compile this driver as a module, choose M here: the module
539	  will be called mcp4725.
540
541config MCP4728
542	tristate "MCP4728 DAC driver"
543	depends on I2C
544	help
545	  Say Y here if you want to build a driver for the Microchip
546	  MCP4728 quad channel, 12-bit digital-to-analog converter (DAC)
547	  with I2C interface.
548
549	  To compile this driver as a module, choose M here: the module
550	  will be called mcp4728.
551
552config MCP47FEB02
553	tristate "MCP47F(E/V)B01/02/04/08/11/12/14/18/21/22/24/28 DAC driver"
554	depends on I2C
555	help
556	  Say yes here if you want to build the driver for the Microchip:
557	  - 8-bit DAC:
558	    MCP47FEB01, MCP47FEB02, MCP47FEB04, MCP47FEB08,
559	    MCP47FVB01, MCP47FVB02, MCP47FVB04, MCP47FVB08
560	  - 10-bit DAC:
561	    MCP47FEB11, MCP47FEB12, MCP47FEB14, MCP47FEB18,
562	    MCP47FVB11, MCP47FVB12, MCP47FVB14, MCP47FVB18
563	  - 12-bit DAC:
564	    MCP47FEB21, MCP47FEB22, MCP47FEB24, MCP47FEB28,
565	    MCP47FVB21, MCP47FVB22, MCP47FVB24, MCP47FVB28
566	  having 1 to 8 channels, 8/10/12-bit digital-to-analog converter
567	  (DAC) with I2C interface.
568
569	  To compile this driver as a module, choose M here: the module
570	  will be called mcp47feb02.
571
572config MCP4821
573	tristate "MCP4801/02/11/12/21/22 DAC driver"
574	depends on SPI
575	help
576	  Say yes here to build the driver for the Microchip MCP4801
577	  MCP4802, MCP4811, MCP4812, MCP4821 and MCP4822 DAC devices.
578
579	  To compile this driver as a module, choose M here: the module
580	  will be called mcp4821.
581
582config MCP4922
583	tristate "MCP4902, MCP4912, MCP4922 DAC driver"
584	depends on SPI
585	help
586	  Say yes here to build the driver for the Microchip MCP4902
587	  MCP4912, and MCP4922 DAC devices.
588
589	  To compile this driver as a module, choose M here: the module
590	  will be called mcp4922.
591
592config STM32_DAC
593	tristate "STMicroelectronics STM32 DAC"
594	depends on (ARCH_STM32 && OF) || COMPILE_TEST
595	depends on REGULATOR
596	select STM32_DAC_CORE
597	help
598	  Say yes here to build support for STMicroelectronics STM32 Digital
599	  to Analog Converter (DAC).
600
601	  This driver can also be built as a module.  If so, the module
602	  will be called stm32-dac.
603
604config STM32_DAC_CORE
605	tristate
606	select REGMAP_MMIO
607
608config TI_DAC082S085
609	tristate "Texas Instruments 8/10/12-bit 2/4-channel DAC driver"
610	depends on SPI_MASTER
611	help
612	  Driver for the Texas Instruments (formerly National Semiconductor)
613	  DAC082S085, DAC102S085, DAC122S085, DAC084S085, DAC104S085 and
614	  DAC124S085.
615
616	  If compiled as a module, it will be called ti-dac082s085.
617
618config TI_DAC5571
619	tristate "Texas Instruments 8/10/12/16-bit 1/2/4-channel DAC driver"
620	depends on I2C
621	help
622	  Driver for the Texas Instruments
623	  DAC5571, DAC6571, DAC7571, DAC5574, DAC6574, DAC7574, DAC5573,
624	  DAC6573, DAC7573, DAC8571, DAC8574, DAC121C081.
625
626	  If compiled as a module, it will be called ti-dac5571.
627
628config TI_DAC7311
629	tristate "Texas Instruments 8/10/12-bit 1-channel DAC driver"
630	depends on SPI
631	help
632	  Driver for the Texas Instruments
633	  DAC7311, DAC6311, DAC5311.
634
635	  If compiled as a module, it will be called ti-dac7311.
636
637config TI_DAC7612
638	tristate "Texas Instruments 12-bit 2-channel DAC driver"
639	depends on SPI_MASTER && GPIOLIB
640	help
641	  Driver for the Texas Instruments DAC7612, DAC7612U, DAC7612UB
642	  The driver hand drive the load pin automatically, otherwise
643	  it needs to be toggled manually.
644
645	  If compiled as a module, it will be called ti-dac7612.
646
647config VF610_DAC
648	tristate "Vybrid vf610 DAC driver"
649	depends on HAS_IOMEM
650	help
651	  Say yes here to support Vybrid board digital-to-analog converter.
652
653	  This driver can also be built as a module. If so, the module will
654	  be called vf610_dac.
655
656endmenu
657