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