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