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