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	select SPI_OFFLOAD
300	select IIO_BUFFER
301	select IIO_BUFFER_DMAENGINE
302	help
303	  Say yes here to build support for Analog Devices AD5760, AD5780,
304	  AD5781, AD5790, AD5791 High Resolution Voltage Output Digital to
305	  Analog Converter.
306
307	  To compile this driver as a module, choose M here: the
308	  module will be called ad5791.
309
310config AD7293
311	tristate "Analog Devices AD7293 Power Amplifier Current Controller"
312	depends on SPI
313	help
314	  Say yes here to build support for Analog Devices AD7293
315	  Power Amplifier Current Controller with
316	  ADC, DACs, and Temperature and Current Sensors
317
318	  To compile this driver as a module, choose M here: the
319	  module will be called ad7293.
320
321config AD7303
322	tristate "Analog Devices AD7303 DAC driver"
323	depends on SPI
324	help
325	  Say yes here to build support for Analog Devices AD7303 Digital to Analog
326	  Converters (DAC).
327
328	  To compile this driver as module choose M here: the module will be called
329	  ad7303.
330
331config AD8460
332	tristate "Analog Devices AD8460 DAC driver"
333	depends on SPI
334	select REGMAP_SPI
335	select IIO_BUFFER
336	select IIO_BUFFER_DMAENGINE
337	help
338	  Say yes here to build support for Analog Devices AD8460 Digital to
339	  Analog Converters (DAC).
340
341	  To compile this driver as a module choose M here: the module will be called
342	  ad8460.
343
344config AD8801
345	tristate "Analog Devices AD8801/AD8803 DAC driver"
346	depends on SPI_MASTER
347	help
348	  Say yes here to build support for Analog Devices AD8801, AD8803 Digital to
349	  Analog Converters (DAC).
350
351	  To compile this driver as a module choose M here: the module will be called
352	  ad8801.
353
354config BD79703
355	tristate "ROHM Semiconductor BD79703 DAC driver"
356	depends on SPI
357	select REGMAP_SPI
358	help
359	  Say yes here to build support for ROHM Semiconductor BD79703 Digital
360	  to Analog Converter (DAC).
361
362config CIO_DAC
363	tristate "Measurement Computing CIO-DAC IIO driver"
364	depends on X86 && (ISA_BUS || PC104)
365	select ISA_BUS_API
366	select REGMAP_MMIO
367	help
368	  Say yes here to build support for the Measurement Computing CIO-DAC
369	  analog output device family (CIO-DAC16, CIO-DAC08, PC104-DAC06). The
370	  base port addresses for the devices may be configured via the base
371	  array module parameter.
372
373config DPOT_DAC
374	tristate "DAC emulation using a DPOT"
375	help
376	  Say yes here to build support for DAC emulation using a digital
377	  potentiometer.
378
379	  To compile this driver as a module, choose M here: the module will be
380	  called dpot-dac.
381
382config DS4424
383	tristate "Maxim Integrated DS4422/DS4424 DAC driver"
384	depends on I2C
385	help
386	  If you say yes here you get support for Maxim chips DS4422, DS4424.
387
388	  This driver can also be built as a module.  If so, the module
389	  will be called ds4424.
390
391config LPC18XX_DAC
392	tristate "NXP LPC18xx DAC driver"
393	depends on ARCH_LPC18XX || COMPILE_TEST
394	depends on HAS_IOMEM
395	help
396	  Say yes here to build support for NXP LPC18XX DAC.
397
398	  To compile this driver as a module, choose M here: the module will be
399	  called lpc18xx_dac.
400
401config LTC1660
402	tristate "Linear Technology LTC1660/LTC1665 DAC SPI driver"
403	depends on SPI
404	select REGMAP_SPI
405	help
406	  Say yes here to build support for Linear Technology
407	  LTC1660 and LTC1665 Digital to Analog Converters.
408
409	  To compile this driver as a module, choose M here: the
410	  module will be called ltc1660.
411
412config LTC2632
413	tristate "Linear Technology LTC2632-12/10/8 and similar DAC spi driver"
414	depends on SPI
415	help
416	  Say yes here to build support for Linear Technology
417	  LTC2632, LTC2634 and LTC2636 DAC resolution 12/10/8 bit
418	  low 0-2.5V and high 0-4.096V range converters.
419
420	  To compile this driver as a module, choose M here: the
421	  module will be called ltc2632.
422
423config LTC2664
424	tristate "Analog Devices LTC2664 and LTC2672 DAC SPI driver"
425	depends on SPI
426	select REGMAP_SPI
427	help
428	  Say yes here to build support for Analog Devices
429	  LTC2664 and LTC2672 converters (DAC).
430
431	  To compile this driver as a module, choose M here: the
432	  module will be called ltc2664.
433
434config M62332
435	tristate "Mitsubishi M62332 DAC driver"
436	depends on I2C
437	help
438	  If you say yes here you get support for the Mitsubishi M62332
439	  (I2C 8-Bit DACs with rail-to-rail outputs).
440
441	  This driver can also be built as a module.  If so, the module
442	  will be called m62332.
443
444config MAX517
445	tristate "Maxim MAX517/518/519/520/521 DAC driver"
446	depends on I2C
447	help
448	  If you say yes here you get support for the following Maxim chips
449	  (I2C 8-Bit DACs with rail-to-rail outputs):
450	  MAX517 - Single channel, single reference
451	  MAX518 - Dual channel, ref=Vdd
452	  MAX519 - Dual channel, dual reference
453	  MAX520 - Quad channel, quad reference
454	  MAX521 - Octal channel, independent ref for ch0-3, shared ref for ch4-7
455
456	  This driver can also be built as a module.  If so, the module
457	  will be called max517.
458
459config MAX5522
460	tristate "Maxim MAX5522 DAC driver"
461	depends on SPI_MASTER
462	select REGMAP_SPI
463	help
464	  Say Y here if you want to build a driver for the Maxim MAX5522.
465
466	  MAX5522 is a dual, ultra-low-power, 10-Bit, voltage-output
467	  digital to analog converter (DAC) offering rail-to-rail buffered
468	  voltage outputs.
469
470	  If compiled as a module, it will be called max5522.
471
472config MAX5821
473	tristate "Maxim MAX5821 DAC driver"
474	depends on I2C
475	help
476	  Say yes here to build support for Maxim MAX5821
477	  10 bits DAC.
478
479config MCP4725
480	tristate "MCP4725/6 DAC driver"
481	depends on I2C
482	help
483	  Say Y here if you want to build a driver for the Microchip
484	  MCP 4725/6 12-bit digital-to-analog converter (DAC) with I2C
485	  interface.
486
487	  To compile this driver as a module, choose M here: the module
488	  will be called mcp4725.
489
490config MCP4728
491	tristate "MCP4728 DAC driver"
492	depends on I2C
493	help
494	  Say Y here if you want to build a driver for the Microchip
495	  MCP4728 quad channel, 12-bit digital-to-analog converter (DAC)
496	  with I2C interface.
497
498	  To compile this driver as a module, choose M here: the module
499	  will be called mcp4728.
500
501config MCP4821
502	tristate "MCP4801/02/11/12/21/22 DAC driver"
503	depends on SPI
504	help
505	  Say yes here to build the driver for the Microchip MCP4801
506	  MCP4802, MCP4811, MCP4812, MCP4821 and MCP4822 DAC devices.
507
508	  To compile this driver as a module, choose M here: the module
509	  will be called mcp4821.
510
511config MCP4922
512	tristate "MCP4902, MCP4912, MCP4922 DAC driver"
513	depends on SPI
514	help
515	  Say yes here to build the driver for the Microchip MCP4902
516	  MCP4912, and MCP4922 DAC devices.
517
518	  To compile this driver as a module, choose M here: the module
519	  will be called mcp4922.
520
521config STM32_DAC
522	tristate "STMicroelectronics STM32 DAC"
523	depends on (ARCH_STM32 && OF) || COMPILE_TEST
524	depends on REGULATOR
525	select STM32_DAC_CORE
526	help
527	  Say yes here to build support for STMicroelectronics STM32 Digital
528	  to Analog Converter (DAC).
529
530	  This driver can also be built as a module.  If so, the module
531	  will be called stm32-dac.
532
533config STM32_DAC_CORE
534	tristate
535	select REGMAP_MMIO
536
537config TI_DAC082S085
538	tristate "Texas Instruments 8/10/12-bit 2/4-channel DAC driver"
539	depends on SPI_MASTER
540	help
541	  Driver for the Texas Instruments (formerly National Semiconductor)
542	  DAC082S085, DAC102S085, DAC122S085, DAC084S085, DAC104S085 and
543	  DAC124S085.
544
545	  If compiled as a module, it will be called ti-dac082s085.
546
547config TI_DAC5571
548	tristate "Texas Instruments 8/10/12/16-bit 1/2/4-channel DAC driver"
549	depends on I2C
550	help
551	  Driver for the Texas Instruments
552	  DAC5571, DAC6571, DAC7571, DAC5574, DAC6574, DAC7574, DAC5573,
553	  DAC6573, DAC7573, DAC8571, DAC8574, DAC121C081.
554
555	  If compiled as a module, it will be called ti-dac5571.
556
557config TI_DAC7311
558	tristate "Texas Instruments 8/10/12-bit 1-channel DAC driver"
559	depends on SPI
560	help
561	  Driver for the Texas Instruments
562	  DAC7311, DAC6311, DAC5311.
563
564	  If compiled as a module, it will be called ti-dac7311.
565
566config TI_DAC7612
567	tristate "Texas Instruments 12-bit 2-channel DAC driver"
568	depends on SPI_MASTER && GPIOLIB
569	help
570	  Driver for the Texas Instruments DAC7612, DAC7612U, DAC7612UB
571	  The driver hand drive the load pin automatically, otherwise
572	  it needs to be toggled manually.
573
574	  If compiled as a module, it will be called ti-dac7612.
575
576config VF610_DAC
577	tristate "Vybrid vf610 DAC driver"
578	depends on HAS_IOMEM
579	help
580	  Say yes here to support Vybrid board digital-to-analog converter.
581
582	  This driver can also be built as a module. If so, the module will
583	  be called vf610_dac.
584
585endmenu
586