xref: /openbmc/linux/drivers/dma/Kconfig (revision 57904291176fa16a981cefca5cbe1a0b50196792)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c13c8260SChris Leech#
3c13c8260SChris Leech# DMA engine configuration
4c13c8260SChris Leech#
5c13c8260SChris Leech
62ed6dc34SShannon Nelsonmenuconfig DMADEVICES
76d4f5879SHaavard Skinnemoen	bool "DMA Engine support"
804ce9ab3SDan Williams	depends on HAS_DMA
92ed6dc34SShannon Nelson	help
106d4f5879SHaavard Skinnemoen	  DMA engines can do asynchronous data transfers without
116d4f5879SHaavard Skinnemoen	  involving the host CPU.  Currently, this framework can be
126d4f5879SHaavard Skinnemoen	  used to offload memory copies in the network stack and
139c402f4eSDan Williams	  RAID operations in the MD driver.  This menu only presents
149c402f4eSDan Williams	  DMA Device drivers supported by the configured arch, it may
159c402f4eSDan Williams	  be empty in some cases.
16c13c8260SChris Leech
176c664a89SLinus Walleijconfig DMADEVICES_DEBUG
186c664a89SLinus Walleij	bool "DMA Engine debugging"
196c664a89SLinus Walleij	depends on DMADEVICES != n
206c664a89SLinus Walleij	help
216c664a89SLinus Walleij	  This is an option for use by developers; most people should
226c664a89SLinus Walleij	  say N here.  This enables DMA engine core and driver debugging.
236c664a89SLinus Walleij
246c664a89SLinus Walleijconfig DMADEVICES_VDEBUG
256c664a89SLinus Walleij	bool "DMA Engine verbose debugging"
266c664a89SLinus Walleij	depends on DMADEVICES_DEBUG != n
276c664a89SLinus Walleij	help
286c664a89SLinus Walleij	  This is an option for use by developers; most people should
296c664a89SLinus Walleij	  say N here.  This enables deeper (more verbose) debugging of
306c664a89SLinus Walleij	  the DMA engine core and drivers.
316c664a89SLinus Walleij
326c664a89SLinus Walleij
332ed6dc34SShannon Nelsonif DMADEVICES
34db217334SChris Leech
350bbd5f4eSChris Leechcomment "DMA Devices"
360bbd5f4eSChris Leech
373c216190SVinod Koul#core
385fc6d897SDan Williamsconfig ASYNC_TX_ENABLE_CHANNEL_SWITCH
39138f4c35SDan Williams	bool
40138f4c35SDan Williams
413c216190SVinod Koulconfig ARCH_HAS_ASYNC_TX_FIND_CHANNEL
423c216190SVinod Koul	bool
433c216190SVinod Koul
443c216190SVinod Koulconfig DMA_ENGINE
453c216190SVinod Koul	bool
463c216190SVinod Koul
473c216190SVinod Koulconfig DMA_VIRTUAL_CHANNELS
483c216190SVinod Koul	tristate
493c216190SVinod Koul
503c216190SVinod Koulconfig DMA_ACPI
513c216190SVinod Koul	def_bool y
523c216190SVinod Koul	depends on ACPI
533c216190SVinod Koul
543c216190SVinod Koulconfig DMA_OF
553c216190SVinod Koul	def_bool y
563c216190SVinod Koul	depends on OF
573c216190SVinod Koul	select DMA_ENGINE
583c216190SVinod Koul
593c216190SVinod Koul#devices
60a85c6f1bSStefan Roeseconfig ALTERA_MSGDMA
61a85c6f1bSStefan Roese	tristate "Altera / Intel mSGDMA Engine"
62253697b9SRandy Dunlap	depends on HAS_IOMEM
63a85c6f1bSStefan Roese	select DMA_ENGINE
64a85c6f1bSStefan Roese	help
65a85c6f1bSStefan Roese	  Enable support for Altera / Intel mSGDMA controller.
66a85c6f1bSStefan Roese
67e8689e63SLinus Walleijconfig AMBA_PL08X
68e8689e63SLinus Walleij	bool "ARM PrimeCell PL080 or PL081 support"
69c6a0aec9SKees Cook	depends on ARM_AMBA
70e8689e63SLinus Walleij	select DMA_ENGINE
71083be28aSRussell King	select DMA_VIRTUAL_CHANNELS
72e8689e63SLinus Walleij	help
731e1cfc72SLinus Walleij	  Say yes if your platform has a PL08x DMAC device which can
741e1cfc72SLinus Walleij	  provide DMA engine support. This includes the original ARM
751e1cfc72SLinus Walleij	  PL080 and PL081, Samsungs PL080 derivative and Faraday
761e1cfc72SLinus Walleij	  Technology's FTDMAC020 PL080 derivative.
77e8689e63SLinus Walleij
783c216190SVinod Koulconfig AMCC_PPC440SPE_ADMA
793c216190SVinod Koul	tristate "AMCC PPC440SPe ADMA support"
803c216190SVinod Koul	depends on 440SPe || 440SP
813c216190SVinod Koul	select DMA_ENGINE
823c216190SVinod Koul	select DMA_ENGINE_RAID
833c216190SVinod Koul	select ARCH_HAS_ASYNC_TX_FIND_CHANNEL
843c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
85e5f4ae84SJoachim Eastwood	help
863c216190SVinod Koul	  Enable support for the AMCC PPC440SPe RAID engines.
873c216190SVinod Koul
88b127315dSMartin Povišerconfig APPLE_ADMAC
89b127315dSMartin Povišer	tristate "Apple ADMAC support"
90b127315dSMartin Povišer	depends on ARCH_APPLE || COMPILE_TEST
91b127315dSMartin Povišer	select DMA_ENGINE
92b127315dSMartin Povišer	default ARCH_APPLE
93b127315dSMartin Povišer	help
94b127315dSMartin Povišer	  Enable support for Audio DMA Controller found on Apple Silicon SoCs.
95b127315dSMartin Povišer
963c216190SVinod Koulconfig AT_HDMAC
973c216190SVinod Koul	tristate "Atmel AHB DMA support"
983c216190SVinod Koul	depends on ARCH_AT91
993c216190SVinod Koul	select DMA_ENGINE
100ac803b56STudor Ambarus	select DMA_VIRTUAL_CHANNELS
1013c216190SVinod Koul	help
1023c216190SVinod Koul	  Support the Atmel AHB DMA controller.
1033c216190SVinod Koul
1043c216190SVinod Koulconfig AT_XDMAC
1053c216190SVinod Koul	tristate "Atmel XDMA support"
1063c216190SVinod Koul	depends on ARCH_AT91
1073c216190SVinod Koul	select DMA_ENGINE
1083c216190SVinod Koul	help
1093c216190SVinod Koul	  Support the Atmel XDMA controller.
1103c216190SVinod Koul
1113c216190SVinod Koulconfig AXI_DMAC
1123c216190SVinod Koul	tristate "Analog Devices AXI-DMAC DMA support"
1135c038872SKrzysztof Kozlowski	depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST
1143c216190SVinod Koul	select DMA_ENGINE
1153c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
116fc15be39SAlexandru Ardelean	select REGMAP_MMIO
1173c216190SVinod Koul	help
1183c216190SVinod Koul	  Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
1192fea2906SGeert Uytterhoeven	  controller is often used in Analog Devices' reference designs for FPGA
1203c216190SVinod Koul	  platforms.
1213c216190SVinod Koul
122743e1c8fSAnup Patelconfig BCM_SBA_RAID
123743e1c8fSAnup Patel	tristate "Broadcom SBA RAID engine support"
12458d96125SArnd Bergmann	depends on ARM64 || COMPILE_TEST
12558d96125SArnd Bergmann	depends on MAILBOX && RAID6_PQ
126743e1c8fSAnup Patel	select DMA_ENGINE
127743e1c8fSAnup Patel	select DMA_ENGINE_RAID
128743e1c8fSAnup Patel	select ASYNC_TX_DISABLE_XOR_VAL_DMA
129743e1c8fSAnup Patel	select ASYNC_TX_DISABLE_PQ_VAL_DMA
1307076a1e4SAnup Patel	default m if ARCH_BCM_IPROC
131743e1c8fSAnup Patel	help
132743e1c8fSAnup Patel	  Enable support for Broadcom SBA RAID Engine. The SBA RAID
133743e1c8fSAnup Patel	  engine is available on most of the Broadcom iProc SoCs. It
134743e1c8fSAnup Patel	  has the capability to offload memcpy, xor and pq computation
135743e1c8fSAnup Patel	  for raid5/6.
136743e1c8fSAnup Patel
1373c216190SVinod Koulconfig DMA_BCM2835
1383c216190SVinod Koul	tristate "BCM2835 DMA engine support"
1393c216190SVinod Koul	depends on ARCH_BCM2835
1403c216190SVinod Koul	select DMA_ENGINE
1413c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1423c216190SVinod Koul
1433c216190SVinod Koulconfig DMA_JZ4780
1443c216190SVinod Koul	tristate "JZ4780 DMA support"
145c558ecd2SPaul Cercueil	depends on MIPS || COMPILE_TEST
1463c216190SVinod Koul	select DMA_ENGINE
1473c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1483c216190SVinod Koul	help
1493c216190SVinod Koul	  This selects support for the DMA controller in Ingenic JZ4780 SoCs.
1503c216190SVinod Koul	  If you have a board based on such a SoC and wish to use DMA for
1513c216190SVinod Koul	  devices which can use the DMA controller, say Y or M here.
1523c216190SVinod Koul
1533c216190SVinod Koulconfig DMA_SA11X0
1543c216190SVinod Koul	tristate "SA-11x0 DMA support"
1556947c3f2SVinod Koul	depends on ARCH_SA1100 || COMPILE_TEST
1563c216190SVinod Koul	select DMA_ENGINE
1573c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1583c216190SVinod Koul	help
1593c216190SVinod Koul	  Support the DMA engine found on Intel StrongARM SA-1100 and
1603c216190SVinod Koul	  SA-1110 SoCs.  This DMA engine can only be used with on-chip
1613c216190SVinod Koul	  devices.
1623c216190SVinod Koul
1633c216190SVinod Koulconfig DMA_SUN4I
1643c216190SVinod Koul	tristate "Allwinner A10 DMA SoCs support"
16535271227SLinus Torvalds	depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
1663c216190SVinod Koul	default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I)
1673c216190SVinod Koul	select DMA_ENGINE
1683c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1693c216190SVinod Koul	help
1703c216190SVinod Koul	  Enable support for the DMA controller present in the sun4i,
1713c216190SVinod Koul	  sun5i and sun7i Allwinner ARM SoCs.
1723c216190SVinod Koul
1733c216190SVinod Koulconfig DMA_SUN6I
1743c216190SVinod Koul	tristate "Allwinner A31 SoCs DMA support"
1758292a155SSamuel Holland	depends on ARCH_SUNXI || COMPILE_TEST
1763c216190SVinod Koul	depends on RESET_CONTROLLER
1773c216190SVinod Koul	select DMA_ENGINE
1783c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1793c216190SVinod Koul	help
1803c216190SVinod Koul	  Support for the DMA engine first found in Allwinner A31 SoCs.
1813c216190SVinod Koul
1821fe20f1bSEugeniy Paltsevconfig DW_AXI_DMAC
1831fe20f1bSEugeniy Paltsev	tristate "Synopsys DesignWare AXI DMA support"
18484dd3b2bSJean Delvare	depends on OF
185cd0f00c3SSia Jee Heng	depends on HAS_IOMEM
1861fe20f1bSEugeniy Paltsev	select DMA_ENGINE
1871fe20f1bSEugeniy Paltsev	select DMA_VIRTUAL_CHANNELS
1881fe20f1bSEugeniy Paltsev	help
1891fe20f1bSEugeniy Paltsev	  Enable support for Synopsys DesignWare AXI DMA controller.
1901fe20f1bSEugeniy Paltsev	  NOTE: This driver wasn't tested on 64 bit platform because
1911fe20f1bSEugeniy Paltsev	  of lack 64 bit platform with Synopsys DW AXI DMAC.
1921fe20f1bSEugeniy Paltsev
1933c216190SVinod Koulconfig EP93XX_DMA
1943c216190SVinod Koul	bool "Cirrus Logic EP93xx DMA support"
19549ad6d7dSVinod Koul	depends on ARCH_EP93XX || COMPILE_TEST
1963c216190SVinod Koul	select DMA_ENGINE
1973c216190SVinod Koul	help
1983c216190SVinod Koul	  Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
1993c216190SVinod Koul
2003c216190SVinod Koulconfig FSL_DMA
2013c216190SVinod Koul	tristate "Freescale Elo series DMA support"
2023c216190SVinod Koul	depends on FSL_SOC
2033c216190SVinod Koul	select DMA_ENGINE
2043c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
205a7f7f624SMasahiro Yamada	help
2063c216190SVinod Koul	  Enable support for the Freescale Elo series DMA controllers.
2073c216190SVinod Koul	  The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the
2083c216190SVinod Koul	  EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
2093c216190SVinod Koul	  some Txxx and Bxxx parts.
2103c216190SVinod Koul
2113c216190SVinod Koulconfig FSL_EDMA
2123c216190SVinod Koul	tristate "Freescale eDMA engine support"
2133c216190SVinod Koul	depends on OF
214b1e213a9SBaoquan He	depends on HAS_IOMEM
2153c216190SVinod Koul	select DMA_ENGINE
2163c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
2173c216190SVinod Koul	help
2183c216190SVinod Koul	  Support the Freescale eDMA engine with programmable channel
2193c216190SVinod Koul	  multiplexing capability for DMA request sources(slot).
2203c216190SVinod Koul	  This module can be found on Freescale Vybrid and LS-1 SoCs.
2213c216190SVinod Koul
222b092529eSPeng Maconfig FSL_QDMA
223b092529eSPeng Ma	tristate "NXP Layerscape qDMA engine support"
224b092529eSPeng Ma	depends on ARM || ARM64
225b092529eSPeng Ma	select DMA_ENGINE
226b092529eSPeng Ma	select DMA_VIRTUAL_CHANNELS
227b092529eSPeng Ma	select DMA_ENGINE_RAID
228b092529eSPeng Ma	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
229b092529eSPeng Ma	help
230b092529eSPeng Ma	 Support the NXP Layerscape qDMA engine with command queue and legacy mode.
231b092529eSPeng Ma	 Channel virtualization is supported through enqueuing of DMA jobs to,
232b092529eSPeng Ma	 or dequeuing DMA jobs from, different work queues.
233b092529eSPeng Ma	 This module can be found on NXP Layerscape SoCs.
234b092529eSPeng Ma	  The qdma driver only work on  SoCs with a DPAA hardware block.
235b092529eSPeng Ma
2363c216190SVinod Koulconfig FSL_RAID
2373c216190SVinod Koul	tristate "Freescale RAID engine Support"
2383c216190SVinod Koul	depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
2393c216190SVinod Koul	select DMA_ENGINE
2403c216190SVinod Koul	select DMA_ENGINE_RAID
241a7f7f624SMasahiro Yamada	help
2423c216190SVinod Koul	  Enable support for Freescale RAID Engine. RAID Engine is
2433c216190SVinod Koul	  available on some QorIQ SoCs (like P5020/P5040). It has
2443c216190SVinod Koul	  the capability to offload memcpy, xor and pq computation
2453c216190SVinod Koul	  for raid5/6.
2463c216190SVinod Koul
247e9f08b65SZhou Wangconfig HISI_DMA
248e9f08b65SZhou Wang	tristate "HiSilicon DMA Engine support"
249dcca9d04SGeert Uytterhoeven	depends on ARCH_HISI || COMPILE_TEST
250ae148b43SYueHaibing	depends on PCI_MSI
251e9f08b65SZhou Wang	select DMA_ENGINE
252e9f08b65SZhou Wang	select DMA_VIRTUAL_CHANNELS
253e9f08b65SZhou Wang	help
254e9f08b65SZhou Wang	  Support HiSilicon Kunpeng DMA engine.
255e9f08b65SZhou Wang
2563c216190SVinod Koulconfig IMG_MDC_DMA
2573c216190SVinod Koul	tristate "IMG MDC support"
2583c216190SVinod Koul	depends on MIPS || COMPILE_TEST
2593c216190SVinod Koul	depends on MFD_SYSCON
2603c216190SVinod Koul	select DMA_ENGINE
2613c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
2623c216190SVinod Koul	help
2633c216190SVinod Koul	  Enable support for the IMG multi-threaded DMA controller (MDC).
2643c216190SVinod Koul
2653c216190SVinod Koulconfig IMX_DMA
2663c216190SVinod Koul	tristate "i.MX DMA support"
2673c216190SVinod Koul	depends on ARCH_MXC
2683c216190SVinod Koul	select DMA_ENGINE
2693c216190SVinod Koul	help
2703c216190SVinod Koul	  Support the i.MX DMA engine. This engine is integrated into
2713c216190SVinod Koul	  Freescale i.MX1/21/27 chips.
2723c216190SVinod Koul
2733c216190SVinod Koulconfig IMX_SDMA
2743c216190SVinod Koul	tristate "i.MX SDMA support"
2753c216190SVinod Koul	depends on ARCH_MXC
2763c216190SVinod Koul	select DMA_ENGINE
27757b772b8SRobin Gong	select DMA_VIRTUAL_CHANNELS
2783c216190SVinod Koul	help
2793c216190SVinod Koul	  Support the i.MX SDMA engine. This engine is integrated into
2803c216190SVinod Koul	  Freescale i.MX25/31/35/51/53/6 chips.
281e5f4ae84SJoachim Eastwood
2829ab8b4e7SVinod Koulconfig INTEL_IDMA64
28335271227SLinus Torvalds	tristate "Intel integrated DMA 64-bit support"
284b1e213a9SBaoquan He	depends on HAS_IOMEM
28535271227SLinus Torvalds	select DMA_ENGINE
28635271227SLinus Torvalds	select DMA_VIRTUAL_CHANNELS
28735271227SLinus Torvalds	help
28835271227SLinus Torvalds	  Enable DMA support for Intel Low Power Subsystem such as found on
28935271227SLinus Torvalds	  Intel Skylake PCH.
29035271227SLinus Torvalds
291d9e5481fSDave Jiangconfig INTEL_IDXD_BUS
292d9e5481fSDave Jiang	tristate
293d9e5481fSDave Jiang	default INTEL_IDXD
294d9e5481fSDave Jiang
295bfe1d560SDave Jiangconfig INTEL_IDXD
296bfe1d560SDave Jiang	tristate "Intel Data Accelerators support"
297b2296eeaSJohannes Berg	depends on PCI && X86_64 && !UML
298d6a7bb86SRandy Dunlap	depends on PCI_MSI
299d8071323SDave Jiang	depends on PCI_PASID
3000705107fSDave Jiang	depends on SBITMAP
301bfe1d560SDave Jiang	select DMA_ENGINE
302bfe1d560SDave Jiang	help
303bfe1d560SDave Jiang	  Enable support for the Intel(R) data accelerators present
304bfe1d560SDave Jiang	  in Intel Xeon CPU.
305bfe1d560SDave Jiang
306bfe1d560SDave Jiang	  Say Y if you have such a platform.
307bfe1d560SDave Jiang
308bfe1d560SDave Jiang	  If unsure, say N.
309bfe1d560SDave Jiang
3106e7f3ee9SDave Jiangconfig INTEL_IDXD_COMPAT
3116e7f3ee9SDave Jiang	bool "Legacy behavior for idxd driver"
3126e7f3ee9SDave Jiang	depends on PCI && X86_64
3136e7f3ee9SDave Jiang	select INTEL_IDXD_BUS
3146e7f3ee9SDave Jiang	help
3156e7f3ee9SDave Jiang	  Compatible driver to support old /sys/bus/dsa/drivers/dsa behavior.
3166e7f3ee9SDave Jiang	  The old behavior performed driver bind/unbind for device and wq
3176e7f3ee9SDave Jiang	  devices all under the dsa driver. The compat driver will emulate
3186e7f3ee9SDave Jiang	  the legacy behavior in order to allow existing support apps (i.e.
3196e7f3ee9SDave Jiang	  accel-config) to continue function. It is expected that accel-config
3206e7f3ee9SDave Jiang	  v3.2 and earlier will need the compat mode. A distro with later
3216e7f3ee9SDave Jiang	  accel-config version can disable this compat config.
3226e7f3ee9SDave Jiang
3236e7f3ee9SDave Jiang	  Say Y if you have old applications that require such behavior.
3246e7f3ee9SDave Jiang
3256e7f3ee9SDave Jiang	  If unsure, say N.
3266e7f3ee9SDave Jiang
3278e50d392SDave Jiang# Config symbol that collects all the dependencies that's necessary to
3288e50d392SDave Jiang# support shared virtual memory for the devices supported by idxd.
3298e50d392SDave Jiangconfig INTEL_IDXD_SVM
3308e50d392SDave Jiang	bool "Accelerator Shared Virtual Memory Support"
3318e50d392SDave Jiang	depends on INTEL_IDXD
3328e50d392SDave Jiang	depends on INTEL_IOMMU_SVM
3338e50d392SDave Jiang	depends on PCI_PRI
3348e50d392SDave Jiang	depends on PCI_PASID
3358e50d392SDave Jiang	depends on PCI_IOV
3368e50d392SDave Jiang
33781dd4d4dSTom Zanussiconfig INTEL_IDXD_PERFMON
33881dd4d4dSTom Zanussi	bool "Intel Data Accelerators performance monitor support"
33981dd4d4dSTom Zanussi	depends on INTEL_IDXD
34081dd4d4dSTom Zanussi	help
34181dd4d4dSTom Zanussi	  Enable performance monitor (pmu) support for the Intel(R)
34281dd4d4dSTom Zanussi	  data accelerators present in Intel Xeon CPU.  With this
34381dd4d4dSTom Zanussi	  enabled, perf can be used to monitor the DSA (Intel Data
34481dd4d4dSTom Zanussi	  Streaming Accelerator) events described in the Intel DSA
34581dd4d4dSTom Zanussi	  spec.
34681dd4d4dSTom Zanussi
34781dd4d4dSTom Zanussi	  If unsure, say N.
34881dd4d4dSTom Zanussi
3490bbd5f4eSChris Leechconfig INTEL_IOATDMA
3500bbd5f4eSChris Leech	tristate "Intel I/OAT DMA support"
351bbac7a92SJohannes Berg	depends on PCI && X86_64 && !UML
3522ed6dc34SShannon Nelson	select DMA_ENGINE
3533cc377b9SDan Williams	select DMA_ENGINE_RAID
3542ed6dc34SShannon Nelson	select DCA
3552ed6dc34SShannon Nelson	help
3562ed6dc34SShannon Nelson	  Enable support for the Intel(R) I/OAT DMA engine present
3572ed6dc34SShannon Nelson	  in recent Intel Xeon chipsets.
3582ed6dc34SShannon Nelson
3592ed6dc34SShannon Nelson	  Say Y here if you have such a chipset.
3602ed6dc34SShannon Nelson
3612ed6dc34SShannon Nelson	  If unsure, say N.
362c2110923SDan Williams
3633c216190SVinod Koulconfig K3_DMA
3643c216190SVinod Koul	tristate "Hisilicon K3 DMA support"
365e39a2329SJohn Stultz	depends on ARCH_HI3xxx || ARCH_HISI || COMPILE_TEST
366667dfed9SAndy Shevchenko	select DMA_ENGINE
367667dfed9SAndy Shevchenko	select DMA_VIRTUAL_CHANNELS
368667dfed9SAndy Shevchenko	help
3693c216190SVinod Koul	  Support the DMA engine for Hisilicon K3 platform
3703c216190SVinod Koul	  devices.
371667dfed9SAndy Shevchenko
3723c216190SVinod Koulconfig LPC18XX_DMAMUX
3733c216190SVinod Koul	bool "NXP LPC18xx/43xx DMA MUX for PL080"
3743c216190SVinod Koul	depends on ARCH_LPC18XX || COMPILE_TEST
3753c216190SVinod Koul	depends on OF && AMBA_PL08X
3763c216190SVinod Koul	select MFD_SYSCON
3773c216190SVinod Koul	help
3783c216190SVinod Koul	  Enable support for DMA on NXP LPC18xx/43xx platforms
3793c216190SVinod Koul	  with PL080 and multiplexed DMA request lines.
380d5ea7b5eSHein Tibosch
381e7a3ff92SAngelo Dureghelloconfig MCF_EDMA
382e7a3ff92SAngelo Dureghello	tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs"
383*6f47c1e9SArnd Bergmann	depends on M5441x || (COMPILE_TEST && FSL_EDMA=n)
384e7a3ff92SAngelo Dureghello	select DMA_ENGINE
385e7a3ff92SAngelo Dureghello	select DMA_VIRTUAL_CHANNELS
386e7a3ff92SAngelo Dureghello	help
387e7a3ff92SAngelo Dureghello	  Support the Freescale ColdFire eDMA engine, 64-channel
388e7a3ff92SAngelo Dureghello	  implementation that performs complex data transfers with
389e7a3ff92SAngelo Dureghello	  minimal intervention from a host processor.
390e7a3ff92SAngelo Dureghello	  This module can be found on Freescale ColdFire mcf5441x SoCs.
391e7a3ff92SAngelo Dureghello
3926c3214e6SJassi Brarconfig MILBEAUT_HDMAC
3936c3214e6SJassi Brar	tristate "Milbeaut AHB DMA support"
3946c3214e6SJassi Brar	depends on ARCH_MILBEAUT || COMPILE_TEST
3956c3214e6SJassi Brar	depends on OF
3966c3214e6SJassi Brar	select DMA_ENGINE
3976c3214e6SJassi Brar	select DMA_VIRTUAL_CHANNELS
3986c3214e6SJassi Brar	help
3996c3214e6SJassi Brar	  Say yes here to support the Socionext Milbeaut
4006c3214e6SJassi Brar	  HDMAC device.
4016c3214e6SJassi Brar
402a6e9be05SJassi Brarconfig MILBEAUT_XDMAC
403a6e9be05SJassi Brar	tristate "Milbeaut AXI DMA support"
404a6e9be05SJassi Brar	depends on ARCH_MILBEAUT || COMPILE_TEST
405a6e9be05SJassi Brar	depends on OF
406a6e9be05SJassi Brar	select DMA_ENGINE
407a6e9be05SJassi Brar	select DMA_VIRTUAL_CHANNELS
408a6e9be05SJassi Brar	help
409a6e9be05SJassi Brar	  Say yes here to support the Socionext Milbeaut
410a6e9be05SJassi Brar	  XDMAC device.
411a6e9be05SJassi Brar
4123c216190SVinod Koulconfig MMP_PDMA
413793dff4bSLubomir Rintel	tristate "MMP PDMA support"
414cd3a792aSVinod Koul	depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST
415dc78baa2SNicolas Ferre	select DMA_ENGINE
416dc78baa2SNicolas Ferre	help
4173c216190SVinod Koul	  Support the MMP PDMA engine for PXA and MMP platform.
418dc78baa2SNicolas Ferre
4193c216190SVinod Koulconfig MMP_TDMA
4209f3c14d4SLubomir Rintel	tristate "MMP Two-Channel DMA support"
42193d05f1eSVinod Koul	depends on ARCH_MMP || COMPILE_TEST
422e1f7c9eeSLudovic Desroches	select DMA_ENGINE
423d6619761SJérémy Lefaure	select GENERIC_ALLOCATOR
424e1f7c9eeSLudovic Desroches	help
4253c216190SVinod Koul	  Support the MMP Two-Channel DMA engine.
4263c216190SVinod Koul	  This engine used for MMP Audio DMA and pxa910 SQU.
427e1f7c9eeSLudovic Desroches
4283c216190SVinod Koulconfig MOXART_DMA
4293c216190SVinod Koul	tristate "MOXART DMA support"
4303c216190SVinod Koul	depends on ARCH_MOXART
431173acc7cSZhang Wei	select DMA_ENGINE
4323c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
4333c216190SVinod Koul	help
4343c216190SVinod Koul	  Enable support for the MOXA ART SoC DMA controller.
435173acc7cSZhang Wei
4363c216190SVinod Koul	  Say Y here if you enabled MMP ADMA, otherwise say N.
4372b49e0c5SAndy Shevchenko
4380fb6f739SPiotr Ziecikconfig MPC512X_DMA
4390fb6f739SPiotr Ziecik	tristate "Freescale MPC512x built-in DMA engine support"
440ba2eea25SIlya Yanok	depends on PPC_MPC512x || PPC_MPC831x
4410fb6f739SPiotr Ziecik	select DMA_ENGINE
442a7f7f624SMasahiro Yamada	help
4430fb6f739SPiotr Ziecik	  Enable support for the Freescale MPC512x built-in DMA engine.
4440fb6f739SPiotr Ziecik
445ff7b0479SSaeed Bisharaconfig MV_XOR
446ff7b0479SSaeed Bishara	bool "Marvell XOR engine support"
447c39290a1SGregory CLEMENT	depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST
448ff7b0479SSaeed Bishara	select DMA_ENGINE
4493cc377b9SDan Williams	select DMA_ENGINE_RAID
4505fc6d897SDan Williams	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
451a7f7f624SMasahiro Yamada	help
452ff7b0479SSaeed Bishara	  Enable support for the Marvell XOR engine.
453ff7b0479SSaeed Bishara
45419a340b1SThomas Petazzoniconfig MV_XOR_V2
45519a340b1SThomas Petazzoni	bool "Marvell XOR engine version 2 support "
45619a340b1SThomas Petazzoni	depends on ARM64
45719a340b1SThomas Petazzoni	select DMA_ENGINE
45819a340b1SThomas Petazzoni	select DMA_ENGINE_RAID
45919a340b1SThomas Petazzoni	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
46013e7accbSThomas Gleixner	select GENERIC_MSI_IRQ
461a7f7f624SMasahiro Yamada	help
46219a340b1SThomas Petazzoni	  Enable support for the Marvell version 2 XOR engine.
46319a340b1SThomas Petazzoni
46419a340b1SThomas Petazzoni	  This engine provides acceleration for copy, XOR and RAID6
46519a340b1SThomas Petazzoni	  operations, and is available on Marvell Armada 7K and 8K
46619a340b1SThomas Petazzoni	  platforms.
46719a340b1SThomas Petazzoni
4683c216190SVinod Koulconfig MXS_DMA
4693c216190SVinod Koul	bool "MXS DMA support"
470d762e4f3SFabio Estevam	depends on ARCH_MXS || ARCH_MXC || COMPILE_TEST
4713c216190SVinod Koul	select STMP_DEVICE
4723c216190SVinod Koul	select DMA_ENGINE
4733c216190SVinod Koul	help
4743c216190SVinod Koul	  Support the MXS DMA engine. This engine including APBH-DMA
4752446563cSFabio Estevam	  and APBX-DMA is integrated into some Freescale chips.
4763c216190SVinod Koul
4773c216190SVinod Koulconfig NBPFAXI_DMA
4783c216190SVinod Koul	tristate "Renesas Type-AXI NBPF DMA support"
4793c216190SVinod Koul	select DMA_ENGINE
4803c216190SVinod Koul	depends on ARM || COMPILE_TEST
4813c216190SVinod Koul	help
4823c216190SVinod Koul	  Support for "Type-AXI" NBPF DMA IPs from Renesas
4833c216190SVinod Koul
48447e20577SManivannan Sadhasivamconfig OWL_DMA
48547e20577SManivannan Sadhasivam	tristate "Actions Semi Owl SoCs DMA support"
48647e20577SManivannan Sadhasivam	depends on ARCH_ACTIONS
48747e20577SManivannan Sadhasivam	select DMA_ENGINE
48847e20577SManivannan Sadhasivam	select DMA_VIRTUAL_CHANNELS
48947e20577SManivannan Sadhasivam	help
49047e20577SManivannan Sadhasivam	  Enable support for the Actions Semi Owl SoCs DMA controller.
49147e20577SManivannan Sadhasivam
4923c216190SVinod Koulconfig PCH_DMA
4933c216190SVinod Koul	tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA"
4943c216190SVinod Koul	depends on PCI && (X86_32 || COMPILE_TEST)
4953c216190SVinod Koul	select DMA_ENGINE
4963c216190SVinod Koul	help
4973c216190SVinod Koul	  Enable support for Intel EG20T PCH DMA engine.
4983c216190SVinod Koul
4993c216190SVinod Koul	  This driver also can be used for LAPIS Semiconductor IOH(Input/
5003c216190SVinod Koul	  Output Hub), ML7213, ML7223 and ML7831.
5013c216190SVinod Koul	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
5023c216190SVinod Koul	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
5033c216190SVinod Koul	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
5043c216190SVinod Koul	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
5053c216190SVinod Koul
5063c216190SVinod Koulconfig PL330_DMA
5073c216190SVinod Koul	tristate "DMA API Driver for PL330"
5083c216190SVinod Koul	select DMA_ENGINE
5093c216190SVinod Koul	depends on ARM_AMBA
5103c216190SVinod Koul	help
5113c216190SVinod Koul	  Select if your platform has one or more PL330 DMACs.
5123c216190SVinod Koul	  You need to provide platform specific settings via
5133c216190SVinod Koul	  platform_data for a dma-pl330 device.
5143c216190SVinod Koul
515a57e16cfSRobert Jarzmikconfig PXA_DMA
516a57e16cfSRobert Jarzmik	bool "PXA DMA support"
517a57e16cfSRobert Jarzmik	depends on (ARCH_MMP || ARCH_PXA)
518a57e16cfSRobert Jarzmik	select DMA_ENGINE
519a57e16cfSRobert Jarzmik	select DMA_VIRTUAL_CHANNELS
520a57e16cfSRobert Jarzmik	help
521a57e16cfSRobert Jarzmik	  Support the DMA engine for PXA. It is also compatible with MMP PDMA
522a57e16cfSRobert Jarzmik	  platform. The internal DMA IP of all PXA variants is supported, with
523a57e16cfSRobert Jarzmik	  16 to 32 channels for peripheral to memory or memory to memory
524a57e16cfSRobert Jarzmik	  transfers.
525a57e16cfSRobert Jarzmik
526905ca51eSLogan Gunthorpeconfig PLX_DMA
527905ca51eSLogan Gunthorpe	tristate "PLX ExpressLane PEX Switch DMA Engine Support"
528905ca51eSLogan Gunthorpe	depends on PCI
529905ca51eSLogan Gunthorpe	select DMA_ENGINE
530905ca51eSLogan Gunthorpe	help
531905ca51eSLogan Gunthorpe	  Some PLX ExpressLane PCI Switches support additional DMA engines.
532905ca51eSLogan Gunthorpe	  These are exposed via extra functions on the switch's
533905ca51eSLogan Gunthorpe	  upstream port. Each function exposes one DMA channel.
534905ca51eSLogan Gunthorpe
5353c216190SVinod Koulconfig STE_DMA40
5363c216190SVinod Koul	bool "ST-Ericsson DMA40 support"
5373c216190SVinod Koul	depends on ARCH_U8500
5383c216190SVinod Koul	select DMA_ENGINE
5395a1a3b9cSLinus Walleij	select SRAM
5403c216190SVinod Koul	help
5413c216190SVinod Koul	  Support for ST-Ericsson DMA40 controller
5423c216190SVinod Koul
5436b4cd727SPeter Griffinconfig ST_FDMA
5446b4cd727SPeter Griffin	tristate "ST FDMA dmaengine support"
5456b4cd727SPeter Griffin	depends on ARCH_STI
5463d6b3715SVinod Koul	depends on REMOTEPROC
5476b4cd727SPeter Griffin	select ST_SLIM_REMOTEPROC
5486b4cd727SPeter Griffin	select DMA_ENGINE
5496b4cd727SPeter Griffin	select DMA_VIRTUAL_CHANNELS
5506b4cd727SPeter Griffin	help
5516b4cd727SPeter Griffin	  Enable support for ST FDMA controller.
5526b4cd727SPeter Griffin	  It supports 16 independent DMA channels, accepts up to 32 DMA requests
5536b4cd727SPeter Griffin
5546b4cd727SPeter Griffin	  Say Y here if you have such a chipset.
5556b4cd727SPeter Griffin	  If unsure, say N.
5566b4cd727SPeter Griffin
557d8b46839SM'boumba Cedric Madiangaconfig STM32_DMA
558d8b46839SM'boumba Cedric Madianga	bool "STMicroelectronics STM32 DMA support"
5594fbf3717SVinod Koul	depends on ARCH_STM32 || COMPILE_TEST
560d8b46839SM'boumba Cedric Madianga	select DMA_ENGINE
561d8b46839SM'boumba Cedric Madianga	select DMA_VIRTUAL_CHANNELS
562d8b46839SM'boumba Cedric Madianga	help
563d8b46839SM'boumba Cedric Madianga	  Enable support for the on-chip DMA controller on STMicroelectronics
564d8b46839SM'boumba Cedric Madianga	  STM32 MCUs.
565ddf9bd40SM'boumba Cedric Madianga	  If you have a board based on such a MCU and wish to use DMA say Y
566d8b46839SM'boumba Cedric Madianga	  here.
567d8b46839SM'boumba Cedric Madianga
568df7e762dSPierre-Yves MORDRETconfig STM32_DMAMUX
569df7e762dSPierre-Yves MORDRET	bool "STMicroelectronics STM32 dma multiplexer support"
570df7e762dSPierre-Yves MORDRET	depends on STM32_DMA || COMPILE_TEST
571df7e762dSPierre-Yves MORDRET	help
572df7e762dSPierre-Yves MORDRET	  Enable support for the on-chip DMA multiplexer on STMicroelectronics
573df7e762dSPierre-Yves MORDRET	  STM32 MCUs.
574df7e762dSPierre-Yves MORDRET	  If you have a board based on such a MCU and wish to use DMAMUX say Y
575df7e762dSPierre-Yves MORDRET	  here.
576df7e762dSPierre-Yves MORDRET
577a4ffb13cSPierre-Yves MORDRETconfig STM32_MDMA
578a4ffb13cSPierre-Yves MORDRET	bool "STMicroelectronics STM32 master dma support"
579a4ffb13cSPierre-Yves MORDRET	depends on ARCH_STM32 || COMPILE_TEST
580ea62e2ccSArnd Bergmann	depends on OF
581a4ffb13cSPierre-Yves MORDRET	select DMA_ENGINE
582a4ffb13cSPierre-Yves MORDRET	select DMA_VIRTUAL_CHANNELS
583a4ffb13cSPierre-Yves MORDRET	help
584a4ffb13cSPierre-Yves MORDRET	  Enable support for the on-chip MDMA controller on STMicroelectronics
585a4ffb13cSPierre-Yves MORDRET	  STM32 platforms.
586a4ffb13cSPierre-Yves MORDRET	  If you have a board based on STM32 SoC and wish to use the master DMA
587a4ffb13cSPierre-Yves MORDRET	  say Y here.
588a4ffb13cSPierre-Yves MORDRET
5899b3b8171SBaolin Wangconfig SPRD_DMA
5909b3b8171SBaolin Wang	tristate "Spreadtrum DMA support"
5919b3b8171SBaolin Wang	depends on ARCH_SPRD || COMPILE_TEST
5929b3b8171SBaolin Wang	select DMA_ENGINE
5939b3b8171SBaolin Wang	select DMA_VIRTUAL_CHANNELS
5949b3b8171SBaolin Wang	help
5959b3b8171SBaolin Wang	  Enable support for the on-chip DMA controller on Spreadtrum platform.
5969b3b8171SBaolin Wang
597ea76f0b3SAtsushi Nemotoconfig TXX9_DMAC
598ea76f0b3SAtsushi Nemoto	tristate "Toshiba TXx9 SoC DMA support"
599455481fcSThomas Bogendoerfer	depends on MACH_TX49XX
600ea76f0b3SAtsushi Nemoto	select DMA_ENGINE
601ea76f0b3SAtsushi Nemoto	help
602ea76f0b3SAtsushi Nemoto	  Support the TXx9 SoC internal DMA controller.  This can be
603ea76f0b3SAtsushi Nemoto	  integrated in chips such as the Toshiba TX4927/38/39.
604ea76f0b3SAtsushi Nemoto
605ee170280SAkhil Rconfig TEGRA186_GPC_DMA
606ee170280SAkhil R	tristate "NVIDIA Tegra GPC DMA support"
607ee170280SAkhil R	depends on (ARCH_TEGRA || COMPILE_TEST) && ARCH_DMA_ADDR_T_64BIT
6082cdd3ca6SYueHaibing	depends on IOMMU_API
609ee170280SAkhil R	select DMA_ENGINE
6107511f287SMark Salter	select DMA_VIRTUAL_CHANNELS
611ee170280SAkhil R	help
612ee170280SAkhil R	  Support for the NVIDIA Tegra General Purpose Central DMA controller.
613ee170280SAkhil R	  The DMA controller has multiple DMA channels which can be configured
614ee170280SAkhil R	  for different peripherals like UART, SPI, etc which are on APB bus.
615ee170280SAkhil R	  This DMA controller transfers data from memory to peripheral FIFO
616ee170280SAkhil R	  or vice versa. It also supports memory to memory data transfer.
617ee170280SAkhil R
618ec8a1586SLaxman Dewanganconfig TEGRA20_APB_DMA
619703b70f4SDmitry Osipenko	tristate "NVIDIA Tegra20 APB DMA support"
6206c41ac96SDmitry Osipenko	depends on ARCH_TEGRA || COMPILE_TEST
621ec8a1586SLaxman Dewangan	select DMA_ENGINE
622ec8a1586SLaxman Dewangan	help
623ec8a1586SLaxman Dewangan	  Support for the NVIDIA Tegra20 APB DMA controller driver. The
624ec8a1586SLaxman Dewangan	  DMA controller is having multiple DMA channel which can be
625ec8a1586SLaxman Dewangan	  configured for different peripherals like audio, UART, SPI,
626ec8a1586SLaxman Dewangan	  I2C etc which is in APB bus.
627ec8a1586SLaxman Dewangan	  This DMA controller transfers data from memory to peripheral fifo
628ec8a1586SLaxman Dewangan	  or vice versa. It does not support memory to memory data transfer.
629ec8a1586SLaxman Dewangan
630f46b1957SJon Hunterconfig TEGRA210_ADMA
6313ed16793SPaul Gortmaker	tristate "NVIDIA Tegra210 ADMA support"
6326be2ed72SPeter Robinson	depends on (ARCH_TEGRA || COMPILE_TEST)
633f46b1957SJon Hunter	select DMA_ENGINE
634f46b1957SJon Hunter	select DMA_VIRTUAL_CHANNELS
635f46b1957SJon Hunter	help
6366be2ed72SPeter Robinson	  Support for the NVIDIA Tegra210/Tegra186/Tegra194/Tegra234 ADMA
6376be2ed72SPeter Robinson	  controller driver. The DMA controller has multiple DMA channels
6386be2ed72SPeter Robinson	  and is used to service various audio clients in the Tegra210
6396be2ed72SPeter Robinson	  audio processing engine (APE). This DMA controller transfers
6406be2ed72SPeter Robinson	  data from memory to peripheral and vice versa. It does not
6416be2ed72SPeter Robinson	  support memory to memory data transfer.
642f46b1957SJon Hunter
643de5d4453SRichard Röjforsconfig TIMB_DMA
644de5d4453SRichard Röjfors	tristate "Timberdale FPGA DMA support"
6454aa258afSVinod Koul	depends on MFD_TIMBERDALE || COMPILE_TEST
646de5d4453SRichard Röjfors	select DMA_ENGINE
647de5d4453SRichard Röjfors	help
648de5d4453SRichard Röjfors	  Enable support for the Timberdale FPGA DMA engine.
649de5d4453SRichard Röjfors
65032e74aabSMasahiro Yamadaconfig UNIPHIER_MDMAC
65132e74aabSMasahiro Yamada	tristate "UniPhier MIO DMAC"
65232e74aabSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
65332e74aabSMasahiro Yamada	depends on OF
65432e74aabSMasahiro Yamada	select DMA_ENGINE
65532e74aabSMasahiro Yamada	select DMA_VIRTUAL_CHANNELS
65632e74aabSMasahiro Yamada	help
65732e74aabSMasahiro Yamada	  Enable support for the MIO DMAC (Media I/O DMA controller) on the
65832e74aabSMasahiro Yamada	  UniPhier platform.  This DMA controller is used as the external
65932e74aabSMasahiro Yamada	  DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.
66032e74aabSMasahiro Yamada
661667b9251SKunihiko Hayashiconfig UNIPHIER_XDMAC
662667b9251SKunihiko Hayashi	tristate "UniPhier XDMAC support"
663667b9251SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
664667b9251SKunihiko Hayashi	depends on OF
665667b9251SKunihiko Hayashi	select DMA_ENGINE
666667b9251SKunihiko Hayashi	select DMA_VIRTUAL_CHANNELS
667667b9251SKunihiko Hayashi	help
668667b9251SKunihiko Hayashi	  Enable support for the XDMAC (external DMA controller) on the
669667b9251SKunihiko Hayashi	  UniPhier platform. This DMA controller can transfer data from
670667b9251SKunihiko Hayashi	  memory to memory, memory to peripheral and peripheral to memory.
671667b9251SKunihiko Hayashi
6723c216190SVinod Koulconfig XGENE_DMA
6733c216190SVinod Koul	tristate "APM X-Gene DMA support"
6743c216190SVinod Koul	depends on ARCH_XGENE || COMPILE_TEST
675b3040e40SJassi Brar	select DMA_ENGINE
6763c216190SVinod Koul	select DMA_ENGINE_RAID
6773c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
678b3040e40SJassi Brar	help
6793c216190SVinod Koul	  Enable support for the APM X-Gene SoC DMA engine.
6805f9e685aSJonas Jensen
681fde57a7cSKedareswara rao Appanaconfig XILINX_DMA
682fde57a7cSKedareswara rao Appana	tristate "Xilinx AXI DMAS Engine"
6831b13e52cSZong Li	depends on HAS_IOMEM
6849cd4360dSSrikanth Thokala	select DMA_ENGINE
6859cd4360dSSrikanth Thokala	help
6869cd4360dSSrikanth Thokala	  Enable support for Xilinx AXI VDMA Soft IP.
6879cd4360dSSrikanth Thokala
688fde57a7cSKedareswara rao Appana	  AXI VDMA engine provides high-bandwidth direct memory access
6899cd4360dSSrikanth Thokala	  between memory and AXI4-Stream video type target
6909cd4360dSSrikanth Thokala	  peripherals including peripherals which support AXI4-
6919cd4360dSSrikanth Thokala	  Stream Video Protocol.  It has two stream interfaces/
6929cd4360dSSrikanth Thokala	  channels, Memory Mapped to Stream (MM2S) and Stream to
6939cd4360dSSrikanth Thokala	  Memory Mapped (S2MM) for the data transfers.
694fde57a7cSKedareswara rao Appana	  AXI CDMA engine provides high-bandwidth direct memory access
695fde57a7cSKedareswara rao Appana	  between a memory-mapped source address and a memory-mapped
696fde57a7cSKedareswara rao Appana	  destination address.
697fde57a7cSKedareswara rao Appana	  AXI DMA engine provides high-bandwidth one dimensional direct
698fde57a7cSKedareswara rao Appana	  memory access between memory and AXI4-Stream target peripherals.
6996ccd692bSRadhey Shyam Pandey	  AXI MCDMA engine provides high-bandwidth direct memory access
7006ccd692bSRadhey Shyam Pandey	  between memory and AXI4-Stream target peripherals. It provides
7016ccd692bSRadhey Shyam Pandey	  the scatter gather interface with multiple channels independent
7026ccd692bSRadhey Shyam Pandey	  configuration support.
7039cd4360dSSrikanth Thokala
70417ce2522SLizhi Houconfig XILINX_XDMA
70517ce2522SLizhi Hou	tristate "Xilinx DMA/Bridge Subsystem DMA Engine"
70617ce2522SLizhi Hou	depends on HAS_IOMEM
70717ce2522SLizhi Hou	select DMA_ENGINE
70817ce2522SLizhi Hou	select DMA_VIRTUAL_CHANNELS
70917ce2522SLizhi Hou	select REGMAP_MMIO
71017ce2522SLizhi Hou	help
71117ce2522SLizhi Hou	  Enable support for Xilinx DMA/Bridge Subsystem DMA engine. The DMA
71217ce2522SLizhi Hou	  provides high performance block data movement between Host memory
71317ce2522SLizhi Hou	  and the DMA subsystem. These direct memory transfers can be both in
71417ce2522SLizhi Hou	  the Host to Card (H2C) and Card to Host (C2H) transfers.
71517ce2522SLizhi Hou	  The core also provides up to 16 user interrupt wires that generate
71617ce2522SLizhi Hou	  interrupts to the host.
71717ce2522SLizhi Hou
718b0cc417cSKedareswara rao Appanaconfig XILINX_ZYNQMP_DMA
719b0cc417cSKedareswara rao Appana	tristate "Xilinx ZynqMP DMA Engine"
7207073b5a8SMichael Tretter	depends on ARCH_ZYNQ || MICROBLAZE || ARM64 || COMPILE_TEST
721b0cc417cSKedareswara rao Appana	select DMA_ENGINE
722b0cc417cSKedareswara rao Appana	help
723b0cc417cSKedareswara rao Appana	  Enable support for Xilinx ZynqMP DMA controller.
7245fa422c9SVinod Koul
7257cbb0c63SHyun Kwonconfig XILINX_ZYNQMP_DPDMA
7267cbb0c63SHyun Kwon	tristate "Xilinx DPDMA Engine"
72732828b82SLaurent Pinchart	depends on HAS_IOMEM && OF
7287cbb0c63SHyun Kwon	select DMA_ENGINE
7297cbb0c63SHyun Kwon	select DMA_VIRTUAL_CHANNELS
7307cbb0c63SHyun Kwon	help
7317cbb0c63SHyun Kwon	  Enable support for Xilinx ZynqMP DisplayPort DMA. Choose this option
7327cbb0c63SHyun Kwon	  if you have a Xilinx ZynqMP SoC with a DisplayPort subsystem. The
7337cbb0c63SHyun Kwon	  driver provides the dmaengine required by the DisplayPort subsystem
7347cbb0c63SHyun Kwon	  display driver.
7357cbb0c63SHyun Kwon
7363c216190SVinod Koul# driver files
7373c216190SVinod Koulsource "drivers/dma/bestcomm/Kconfig"
7385689ba7fSAndrew Bresticker
739548c4597SSean Wangsource "drivers/dma/mediatek/Kconfig"
740548c4597SSean Wang
741fa5d823bSSanjay R Mehtasource "drivers/dma/ptdma/Kconfig"
742fa5d823bSSanjay R Mehta
743d9b31efcSSinan Kayasource "drivers/dma/qcom/Kconfig"
744d9b31efcSSinan Kaya
7453c216190SVinod Koulsource "drivers/dma/dw/Kconfig"
7469f2fd0dfSRameshwar Prasad Sahu
747e63d79d1SGustavo Pimentelsource "drivers/dma/dw-edma/Kconfig"
748e63d79d1SGustavo Pimentel
7493c216190SVinod Koulsource "drivers/dma/hsu/Kconfig"
7502ed6dc34SShannon Nelson
7516973886aSGreen Wansource "drivers/dma/sf-pdma/Kconfig"
7526973886aSGreen Wan
7533c216190SVinod Koulsource "drivers/dma/sh/Kconfig"
75450437bffSRussell King
755d88b1397SPeter Ujfalusisource "drivers/dma/ti/Kconfig"
756d88b1397SPeter Ujfalusi
7577fdf9b05SPeng Masource "drivers/dma/fsl-dpaa2-qdma/Kconfig"
7587fdf9b05SPeng Ma
75932d31c79SAmireddy Mallikarjuna reddysource "drivers/dma/lgm/Kconfig"
76032d31c79SAmireddy Mallikarjuna reddy
7613c216190SVinod Koul# clients
7622ed6dc34SShannon Nelsoncomment "DMA Clients"
7632ed6dc34SShannon Nelson	depends on DMA_ENGINE
7642ed6dc34SShannon Nelson
765729b5d1bSDan Williamsconfig ASYNC_TX_DMA
766729b5d1bSDan Williams	bool "Async_tx: Offload support for the async_tx api"
7679a8de639SDan Williams	depends on DMA_ENGINE
768729b5d1bSDan Williams	help
769729b5d1bSDan Williams	  This allows the async_tx api to take advantage of offload engines for
770729b5d1bSDan Williams	  memcpy, memset, xor, and raid6 p+q operations.  If your platform has
771729b5d1bSDan Williams	  a dma engine that can perform raid operations and you have enabled
772729b5d1bSDan Williams	  MD_RAID456 say Y.
773729b5d1bSDan Williams
774729b5d1bSDan Williams	  If unsure, say N.
775729b5d1bSDan Williams
7764a776f0aSHaavard Skinnemoenconfig DMATEST
7774a776f0aSHaavard Skinnemoen	tristate "DMA Test client"
7784a776f0aSHaavard Skinnemoen	depends on DMA_ENGINE
77958532e66SStefan Roese	select DMA_ENGINE_RAID
7804a776f0aSHaavard Skinnemoen	help
7814a776f0aSHaavard Skinnemoen	  Simple DMA test client. Say N unless you're debugging a
7824a776f0aSHaavard Skinnemoen	  DMA Device driver.
7834a776f0aSHaavard Skinnemoen
7843cc377b9SDan Williamsconfig DMA_ENGINE_RAID
7853cc377b9SDan Williams	bool
7863cc377b9SDan Williams
7872ed6dc34SShannon Nelsonendif
788