| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | # |
|---|
| 2 | 3 | # DMA engine configuration |
|---|
| 3 | 4 | # |
|---|
| .. | .. |
|---|
| 14 | 15 | be empty in some cases. |
|---|
| 15 | 16 | |
|---|
| 16 | 17 | config DMADEVICES_DEBUG |
|---|
| 17 | | - bool "DMA Engine debugging" |
|---|
| 18 | | - depends on DMADEVICES != n |
|---|
| 19 | | - help |
|---|
| 20 | | - This is an option for use by developers; most people should |
|---|
| 21 | | - say N here. This enables DMA engine core and driver debugging. |
|---|
| 18 | + bool "DMA Engine debugging" |
|---|
| 19 | + depends on DMADEVICES != n |
|---|
| 20 | + help |
|---|
| 21 | + This is an option for use by developers; most people should |
|---|
| 22 | + say N here. This enables DMA engine core and driver debugging. |
|---|
| 22 | 23 | |
|---|
| 23 | 24 | config DMADEVICES_VDEBUG |
|---|
| 24 | | - bool "DMA Engine verbose debugging" |
|---|
| 25 | | - depends on DMADEVICES_DEBUG != n |
|---|
| 26 | | - help |
|---|
| 27 | | - This is an option for use by developers; most people should |
|---|
| 28 | | - say N here. This enables deeper (more verbose) debugging of |
|---|
| 29 | | - the DMA engine core and drivers. |
|---|
| 25 | + bool "DMA Engine verbose debugging" |
|---|
| 26 | + depends on DMADEVICES_DEBUG != n |
|---|
| 27 | + help |
|---|
| 28 | + This is an option for use by developers; most people should |
|---|
| 29 | + say N here. This enables deeper (more verbose) debugging of |
|---|
| 30 | + the DMA engine core and drivers. |
|---|
| 30 | 31 | |
|---|
| 31 | 32 | |
|---|
| 32 | 33 | if DMADEVICES |
|---|
| .. | .. |
|---|
| 100 | 101 | |
|---|
| 101 | 102 | config AXI_DMAC |
|---|
| 102 | 103 | tristate "Analog Devices AXI-DMAC DMA support" |
|---|
| 103 | | - depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_SOCFPGA || COMPILE_TEST |
|---|
| 104 | + depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_SOCFPGA || COMPILE_TEST |
|---|
| 104 | 105 | select DMA_ENGINE |
|---|
| 105 | 106 | select DMA_VIRTUAL_CHANNELS |
|---|
| 107 | + select REGMAP_MMIO |
|---|
| 106 | 108 | help |
|---|
| 107 | 109 | Enable support for the Analog Devices AXI-DMAC peripheral. This DMA |
|---|
| 108 | | - controller is often used in Analog Device's reference designs for FPGA |
|---|
| 110 | + controller is often used in Analog Devices' reference designs for FPGA |
|---|
| 109 | 111 | platforms. |
|---|
| 110 | 112 | |
|---|
| 111 | 113 | config BCM_SBA_RAID |
|---|
| .. | .. |
|---|
| 133 | 135 | config DMA_BCM2835 |
|---|
| 134 | 136 | tristate "BCM2835 DMA engine support" |
|---|
| 135 | 137 | depends on ARCH_BCM2835 |
|---|
| 136 | | - select DMA_ENGINE |
|---|
| 137 | | - select DMA_VIRTUAL_CHANNELS |
|---|
| 138 | | - |
|---|
| 139 | | -config DMA_JZ4740 |
|---|
| 140 | | - tristate "JZ4740 DMA support" |
|---|
| 141 | | - depends on MACH_JZ4740 || COMPILE_TEST |
|---|
| 142 | 138 | select DMA_ENGINE |
|---|
| 143 | 139 | select DMA_VIRTUAL_CHANNELS |
|---|
| 144 | 140 | |
|---|
| .. | .. |
|---|
| 203 | 199 | depends on FSL_SOC |
|---|
| 204 | 200 | select DMA_ENGINE |
|---|
| 205 | 201 | select ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 206 | | - ---help--- |
|---|
| 202 | + help |
|---|
| 207 | 203 | Enable support for the Freescale Elo series DMA controllers. |
|---|
| 208 | 204 | The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the |
|---|
| 209 | 205 | EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on |
|---|
| .. | .. |
|---|
| 219 | 215 | multiplexing capability for DMA request sources(slot). |
|---|
| 220 | 216 | This module can be found on Freescale Vybrid and LS-1 SoCs. |
|---|
| 221 | 217 | |
|---|
| 218 | +config FSL_QDMA |
|---|
| 219 | + tristate "NXP Layerscape qDMA engine support" |
|---|
| 220 | + depends on ARM || ARM64 |
|---|
| 221 | + select DMA_ENGINE |
|---|
| 222 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 223 | + select DMA_ENGINE_RAID |
|---|
| 224 | + select ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 225 | + help |
|---|
| 226 | + Support the NXP Layerscape qDMA engine with command queue and legacy mode. |
|---|
| 227 | + Channel virtualization is supported through enqueuing of DMA jobs to, |
|---|
| 228 | + or dequeuing DMA jobs from, different work queues. |
|---|
| 229 | + This module can be found on NXP Layerscape SoCs. |
|---|
| 230 | + The qdma driver only work on SoCs with a DPAA hardware block. |
|---|
| 231 | + |
|---|
| 222 | 232 | config FSL_RAID |
|---|
| 223 | | - tristate "Freescale RAID engine Support" |
|---|
| 224 | | - depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 225 | | - select DMA_ENGINE |
|---|
| 226 | | - select DMA_ENGINE_RAID |
|---|
| 227 | | - ---help--- |
|---|
| 228 | | - Enable support for Freescale RAID Engine. RAID Engine is |
|---|
| 229 | | - available on some QorIQ SoCs (like P5020/P5040). It has |
|---|
| 230 | | - the capability to offload memcpy, xor and pq computation |
|---|
| 233 | + tristate "Freescale RAID engine Support" |
|---|
| 234 | + depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 235 | + select DMA_ENGINE |
|---|
| 236 | + select DMA_ENGINE_RAID |
|---|
| 237 | + help |
|---|
| 238 | + Enable support for Freescale RAID Engine. RAID Engine is |
|---|
| 239 | + available on some QorIQ SoCs (like P5020/P5040). It has |
|---|
| 240 | + the capability to offload memcpy, xor and pq computation |
|---|
| 231 | 241 | for raid5/6. |
|---|
| 242 | + |
|---|
| 243 | +config HISI_DMA |
|---|
| 244 | + tristate "HiSilicon DMA Engine support" |
|---|
| 245 | + depends on ARM64 || COMPILE_TEST |
|---|
| 246 | + depends on PCI_MSI |
|---|
| 247 | + select DMA_ENGINE |
|---|
| 248 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 249 | + help |
|---|
| 250 | + Support HiSilicon Kunpeng DMA engine. |
|---|
| 232 | 251 | |
|---|
| 233 | 252 | config IMG_MDC_DMA |
|---|
| 234 | 253 | tristate "IMG MDC support" |
|---|
| .. | .. |
|---|
| 264 | 283 | Enable DMA support for Intel Low Power Subsystem such as found on |
|---|
| 265 | 284 | Intel Skylake PCH. |
|---|
| 266 | 285 | |
|---|
| 286 | +config INTEL_IDXD |
|---|
| 287 | + tristate "Intel Data Accelerators support" |
|---|
| 288 | + depends on PCI && X86_64 && !UML |
|---|
| 289 | + depends on PCI_MSI |
|---|
| 290 | + depends on SBITMAP |
|---|
| 291 | + select DMA_ENGINE |
|---|
| 292 | + help |
|---|
| 293 | + Enable support for the Intel(R) data accelerators present |
|---|
| 294 | + in Intel Xeon CPU. |
|---|
| 295 | + |
|---|
| 296 | + Say Y if you have such a platform. |
|---|
| 297 | + |
|---|
| 298 | + If unsure, say N. |
|---|
| 299 | + |
|---|
| 267 | 300 | config INTEL_IOATDMA |
|---|
| 268 | 301 | tristate "Intel I/OAT DMA support" |
|---|
| 269 | 302 | depends on PCI && X86_64 && !UML |
|---|
| .. | .. |
|---|
| 279 | 312 | If unsure, say N. |
|---|
| 280 | 313 | |
|---|
| 281 | 314 | config INTEL_IOP_ADMA |
|---|
| 282 | | - tristate "Intel IOP ADMA support" |
|---|
| 283 | | - depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX |
|---|
| 315 | + tristate "Intel IOP32x ADMA support" |
|---|
| 316 | + depends on ARCH_IOP32X || COMPILE_TEST |
|---|
| 284 | 317 | select DMA_ENGINE |
|---|
| 285 | 318 | select ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 286 | 319 | help |
|---|
| 287 | 320 | Enable support for the Intel(R) IOP Series RAID engines. |
|---|
| 288 | | - |
|---|
| 289 | | -config INTEL_MIC_X100_DMA |
|---|
| 290 | | - tristate "Intel MIC X100 DMA Driver" |
|---|
| 291 | | - depends on 64BIT && X86 && INTEL_MIC_BUS |
|---|
| 292 | | - select DMA_ENGINE |
|---|
| 293 | | - help |
|---|
| 294 | | - This enables DMA support for the Intel Many Integrated Core |
|---|
| 295 | | - (MIC) family of PCIe form factor coprocessor X100 devices that |
|---|
| 296 | | - run a 64 bit Linux OS. This driver will be used by both MIC |
|---|
| 297 | | - host and card drivers. |
|---|
| 298 | | - |
|---|
| 299 | | - If you are building host kernel with a MIC device or a card |
|---|
| 300 | | - kernel for a MIC device, then say M (recommended) or Y, else |
|---|
| 301 | | - say N. If unsure say N. |
|---|
| 302 | | - |
|---|
| 303 | | - More information about the Intel MIC family as well as the Linux |
|---|
| 304 | | - OS and tools for MIC to use with this driver are available from |
|---|
| 305 | | - <http://software.intel.com/en-us/mic-developer>. |
|---|
| 306 | 321 | |
|---|
| 307 | 322 | config K3_DMA |
|---|
| 308 | 323 | tristate "Hisilicon K3 DMA support" |
|---|
| .. | .. |
|---|
| 322 | 337 | Enable support for DMA on NXP LPC18xx/43xx platforms |
|---|
| 323 | 338 | with PL080 and multiplexed DMA request lines. |
|---|
| 324 | 339 | |
|---|
| 340 | +config MCF_EDMA |
|---|
| 341 | + tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs" |
|---|
| 342 | + depends on M5441x || COMPILE_TEST |
|---|
| 343 | + select DMA_ENGINE |
|---|
| 344 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 345 | + help |
|---|
| 346 | + Support the Freescale ColdFire eDMA engine, 64-channel |
|---|
| 347 | + implementation that performs complex data transfers with |
|---|
| 348 | + minimal intervention from a host processor. |
|---|
| 349 | + This module can be found on Freescale ColdFire mcf5441x SoCs. |
|---|
| 350 | + |
|---|
| 351 | +config MILBEAUT_HDMAC |
|---|
| 352 | + tristate "Milbeaut AHB DMA support" |
|---|
| 353 | + depends on ARCH_MILBEAUT || COMPILE_TEST |
|---|
| 354 | + depends on OF |
|---|
| 355 | + select DMA_ENGINE |
|---|
| 356 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 357 | + help |
|---|
| 358 | + Say yes here to support the Socionext Milbeaut |
|---|
| 359 | + HDMAC device. |
|---|
| 360 | + |
|---|
| 361 | +config MILBEAUT_XDMAC |
|---|
| 362 | + tristate "Milbeaut AXI DMA support" |
|---|
| 363 | + depends on ARCH_MILBEAUT || COMPILE_TEST |
|---|
| 364 | + depends on OF |
|---|
| 365 | + select DMA_ENGINE |
|---|
| 366 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 367 | + help |
|---|
| 368 | + Say yes here to support the Socionext Milbeaut |
|---|
| 369 | + XDMAC device. |
|---|
| 370 | + |
|---|
| 325 | 371 | config MMP_PDMA |
|---|
| 326 | 372 | bool "MMP PDMA support" |
|---|
| 327 | 373 | depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST |
|---|
| .. | .. |
|---|
| 333 | 379 | bool "MMP Two-Channel DMA support" |
|---|
| 334 | 380 | depends on ARCH_MMP || COMPILE_TEST |
|---|
| 335 | 381 | select DMA_ENGINE |
|---|
| 336 | | - select MMP_SRAM if ARCH_MMP |
|---|
| 337 | 382 | select GENERIC_ALLOCATOR |
|---|
| 338 | 383 | help |
|---|
| 339 | 384 | Support the MMP Two-Channel DMA engine. |
|---|
| 340 | 385 | This engine used for MMP Audio DMA and pxa910 SQU. |
|---|
| 341 | | - It needs sram driver under mach-mmp. |
|---|
| 342 | 386 | |
|---|
| 343 | 387 | config MOXART_DMA |
|---|
| 344 | 388 | tristate "MOXART DMA support" |
|---|
| .. | .. |
|---|
| 354 | 398 | tristate "Freescale MPC512x built-in DMA engine support" |
|---|
| 355 | 399 | depends on PPC_MPC512x || PPC_MPC831x |
|---|
| 356 | 400 | select DMA_ENGINE |
|---|
| 357 | | - ---help--- |
|---|
| 401 | + help |
|---|
| 358 | 402 | Enable support for the Freescale MPC512x built-in DMA engine. |
|---|
| 359 | 403 | |
|---|
| 360 | 404 | config MV_XOR |
|---|
| .. | .. |
|---|
| 363 | 407 | select DMA_ENGINE |
|---|
| 364 | 408 | select DMA_ENGINE_RAID |
|---|
| 365 | 409 | select ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 366 | | - ---help--- |
|---|
| 410 | + help |
|---|
| 367 | 411 | Enable support for the Marvell XOR engine. |
|---|
| 368 | 412 | |
|---|
| 369 | 413 | config MV_XOR_V2 |
|---|
| .. | .. |
|---|
| 373 | 417 | select DMA_ENGINE_RAID |
|---|
| 374 | 418 | select ASYNC_TX_ENABLE_CHANNEL_SWITCH |
|---|
| 375 | 419 | select GENERIC_MSI_IRQ_DOMAIN |
|---|
| 376 | | - ---help--- |
|---|
| 420 | + help |
|---|
| 377 | 421 | Enable support for the Marvell version 2 XOR engine. |
|---|
| 378 | 422 | |
|---|
| 379 | 423 | This engine provides acceleration for copy, XOR and RAID6 |
|---|
| .. | .. |
|---|
| 456 | 500 | platform. The internal DMA IP of all PXA variants is supported, with |
|---|
| 457 | 501 | 16 to 32 channels for peripheral to memory or memory to memory |
|---|
| 458 | 502 | transfers. |
|---|
| 503 | + |
|---|
| 504 | +config PLX_DMA |
|---|
| 505 | + tristate "PLX ExpressLane PEX Switch DMA Engine Support" |
|---|
| 506 | + depends on PCI |
|---|
| 507 | + select DMA_ENGINE |
|---|
| 508 | + help |
|---|
| 509 | + Some PLX ExpressLane PCI Switches support additional DMA engines. |
|---|
| 510 | + These are exposed via extra functions on the switch's |
|---|
| 511 | + upstream port. Each function exposes one DMA channel. |
|---|
| 459 | 512 | |
|---|
| 460 | 513 | config SIRF_DMA |
|---|
| 461 | 514 | tristate "CSR SiRFprimaII/SiRFmarco DMA support" |
|---|
| .. | .. |
|---|
| 546 | 599 | integrated in chips such as the Toshiba TX4927/38/39. |
|---|
| 547 | 600 | |
|---|
| 548 | 601 | config TEGRA20_APB_DMA |
|---|
| 549 | | - bool "NVIDIA Tegra20 APB DMA support" |
|---|
| 550 | | - depends on ARCH_TEGRA |
|---|
| 602 | + tristate "NVIDIA Tegra20 APB DMA support" |
|---|
| 603 | + depends on ARCH_TEGRA || COMPILE_TEST |
|---|
| 551 | 604 | select DMA_ENGINE |
|---|
| 552 | 605 | help |
|---|
| 553 | 606 | Support for the NVIDIA Tegra20 APB DMA controller driver. The |
|---|
| .. | .. |
|---|
| 559 | 612 | |
|---|
| 560 | 613 | config TEGRA210_ADMA |
|---|
| 561 | 614 | tristate "NVIDIA Tegra210 ADMA support" |
|---|
| 562 | | - depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST) && PM_CLK |
|---|
| 615 | + depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST) |
|---|
| 563 | 616 | select DMA_ENGINE |
|---|
| 564 | 617 | select DMA_VIRTUAL_CHANNELS |
|---|
| 565 | 618 | help |
|---|
| .. | .. |
|---|
| 576 | 629 | select DMA_ENGINE |
|---|
| 577 | 630 | help |
|---|
| 578 | 631 | Enable support for the Timberdale FPGA DMA engine. |
|---|
| 632 | + |
|---|
| 633 | +config UNIPHIER_MDMAC |
|---|
| 634 | + tristate "UniPhier MIO DMAC" |
|---|
| 635 | + depends on ARCH_UNIPHIER || COMPILE_TEST |
|---|
| 636 | + depends on OF |
|---|
| 637 | + select DMA_ENGINE |
|---|
| 638 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 639 | + help |
|---|
| 640 | + Enable support for the MIO DMAC (Media I/O DMA controller) on the |
|---|
| 641 | + UniPhier platform. This DMA controller is used as the external |
|---|
| 642 | + DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs. |
|---|
| 643 | + |
|---|
| 644 | +config UNIPHIER_XDMAC |
|---|
| 645 | + tristate "UniPhier XDMAC support" |
|---|
| 646 | + depends on ARCH_UNIPHIER || COMPILE_TEST |
|---|
| 647 | + depends on OF |
|---|
| 648 | + select DMA_ENGINE |
|---|
| 649 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 650 | + help |
|---|
| 651 | + Enable support for the XDMAC (external DMA controller) on the |
|---|
| 652 | + UniPhier platform. This DMA controller can transfer data from |
|---|
| 653 | + memory to memory, memory to peripheral and peripheral to memory. |
|---|
| 579 | 654 | |
|---|
| 580 | 655 | config XGENE_DMA |
|---|
| 581 | 656 | tristate "APM X-Gene DMA support" |
|---|
| .. | .. |
|---|
| 604 | 679 | destination address. |
|---|
| 605 | 680 | AXI DMA engine provides high-bandwidth one dimensional direct |
|---|
| 606 | 681 | memory access between memory and AXI4-Stream target peripherals. |
|---|
| 682 | + AXI MCDMA engine provides high-bandwidth direct memory access |
|---|
| 683 | + between memory and AXI4-Stream target peripherals. It provides |
|---|
| 684 | + the scatter gather interface with multiple channels independent |
|---|
| 685 | + configuration support. |
|---|
| 607 | 686 | |
|---|
| 608 | 687 | config XILINX_ZYNQMP_DMA |
|---|
| 609 | 688 | tristate "Xilinx ZynqMP DMA Engine" |
|---|
| .. | .. |
|---|
| 611 | 690 | select DMA_ENGINE |
|---|
| 612 | 691 | help |
|---|
| 613 | 692 | Enable support for Xilinx ZynqMP DMA controller. |
|---|
| 693 | + |
|---|
| 694 | +config XILINX_ZYNQMP_DPDMA |
|---|
| 695 | + tristate "Xilinx DPDMA Engine" |
|---|
| 696 | + depends on HAS_IOMEM && OF |
|---|
| 697 | + select DMA_ENGINE |
|---|
| 698 | + select DMA_VIRTUAL_CHANNELS |
|---|
| 699 | + help |
|---|
| 700 | + Enable support for Xilinx ZynqMP DisplayPort DMA. Choose this option |
|---|
| 701 | + if you have a Xilinx ZynqMP SoC with a DisplayPort subsystem. The |
|---|
| 702 | + driver provides the dmaengine required by the DisplayPort subsystem |
|---|
| 703 | + display driver. |
|---|
| 614 | 704 | |
|---|
| 615 | 705 | config ZX_DMA |
|---|
| 616 | 706 | tristate "ZTE ZX DMA support" |
|---|
| .. | .. |
|---|
| 630 | 720 | |
|---|
| 631 | 721 | source "drivers/dma/dw/Kconfig" |
|---|
| 632 | 722 | |
|---|
| 723 | +source "drivers/dma/dw-edma/Kconfig" |
|---|
| 724 | + |
|---|
| 633 | 725 | source "drivers/dma/hsu/Kconfig" |
|---|
| 726 | + |
|---|
| 727 | +source "drivers/dma/sf-pdma/Kconfig" |
|---|
| 634 | 728 | |
|---|
| 635 | 729 | source "drivers/dma/sh/Kconfig" |
|---|
| 636 | 730 | |
|---|
| 637 | 731 | source "drivers/dma/ti/Kconfig" |
|---|
| 638 | 732 | |
|---|
| 733 | +source "drivers/dma/fsl-dpaa2-qdma/Kconfig" |
|---|
| 734 | + |
|---|
| 639 | 735 | # clients |
|---|
| 640 | 736 | comment "DMA Clients" |
|---|
| 641 | 737 | depends on DMA_ENGINE |
|---|