xref: /linux/drivers/dma/Kconfig (revision 196dacf4541afcbccbef9c3697231af354bbab13)
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	help
93b127315dSMartin Povišer	  Enable support for Audio DMA Controller found on Apple Silicon SoCs.
94b127315dSMartin Povišer
955d099706SRobin Murphyconfig ARM_DMA350
965d099706SRobin Murphy	tristate "Arm DMA-350 support"
9786071b36SGeert Uytterhoeven	depends on ARM || ARM64 || COMPILE_TEST
985d099706SRobin Murphy	select DMA_ENGINE
995d099706SRobin Murphy	select DMA_VIRTUAL_CHANNELS
1005d099706SRobin Murphy	help
1015d099706SRobin Murphy	  Enable support for the Arm DMA-350 controller.
1025d099706SRobin Murphy
1033c216190SVinod Koulconfig AT_HDMAC
1043c216190SVinod Koul	tristate "Atmel AHB DMA support"
1053c216190SVinod Koul	depends on ARCH_AT91
1063c216190SVinod Koul	select DMA_ENGINE
107ac803b56STudor Ambarus	select DMA_VIRTUAL_CHANNELS
1083c216190SVinod Koul	help
1093c216190SVinod Koul	  Support the Atmel AHB DMA controller.
1103c216190SVinod Koul
1113c216190SVinod Koulconfig AT_XDMAC
1123c216190SVinod Koul	tristate "Atmel XDMA support"
113*e5698202SRobert Marko	depends on ARCH_MICROCHIP
1143c216190SVinod Koul	select DMA_ENGINE
1153c216190SVinod Koul	help
1163c216190SVinod Koul	  Support the Atmel XDMA controller.
1173c216190SVinod Koul
1183c216190SVinod Koulconfig AXI_DMAC
1193c216190SVinod Koul	tristate "Analog Devices AXI-DMAC DMA support"
1205c038872SKrzysztof Kozlowski	depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST
1213c216190SVinod Koul	select DMA_ENGINE
1223c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
123fc15be39SAlexandru Ardelean	select REGMAP_MMIO
1243c216190SVinod Koul	help
1253c216190SVinod Koul	  Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
1262fea2906SGeert Uytterhoeven	  controller is often used in Analog Devices' reference designs for FPGA
1273c216190SVinod Koul	  platforms.
1283c216190SVinod Koul
129743e1c8fSAnup Patelconfig BCM_SBA_RAID
130743e1c8fSAnup Patel	tristate "Broadcom SBA RAID engine support"
13158d96125SArnd Bergmann	depends on ARM64 || COMPILE_TEST
13258d96125SArnd Bergmann	depends on MAILBOX && RAID6_PQ
133743e1c8fSAnup Patel	select DMA_ENGINE
134743e1c8fSAnup Patel	select DMA_ENGINE_RAID
135743e1c8fSAnup Patel	select ASYNC_TX_DISABLE_XOR_VAL_DMA
136743e1c8fSAnup Patel	select ASYNC_TX_DISABLE_PQ_VAL_DMA
1377076a1e4SAnup Patel	default m if ARCH_BCM_IPROC
138743e1c8fSAnup Patel	help
139743e1c8fSAnup Patel	  Enable support for Broadcom SBA RAID Engine. The SBA RAID
140743e1c8fSAnup Patel	  engine is available on most of the Broadcom iProc SoCs. It
141743e1c8fSAnup Patel	  has the capability to offload memcpy, xor and pq computation
142743e1c8fSAnup Patel	  for raid5/6.
143743e1c8fSAnup Patel
1443c216190SVinod Koulconfig DMA_BCM2835
1453c216190SVinod Koul	tristate "BCM2835 DMA engine support"
1463c216190SVinod Koul	depends on ARCH_BCM2835
1473c216190SVinod Koul	select DMA_ENGINE
1483c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1493c216190SVinod Koul
1503c216190SVinod Koulconfig DMA_JZ4780
1513c216190SVinod Koul	tristate "JZ4780 DMA support"
152c558ecd2SPaul Cercueil	depends on MIPS || COMPILE_TEST
1533c216190SVinod Koul	select DMA_ENGINE
1543c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1553c216190SVinod Koul	help
1563c216190SVinod Koul	  This selects support for the DMA controller in Ingenic JZ4780 SoCs.
1573c216190SVinod Koul	  If you have a board based on such a SoC and wish to use DMA for
1583c216190SVinod Koul	  devices which can use the DMA controller, say Y or M here.
1593c216190SVinod Koul
1603c216190SVinod Koulconfig DMA_SA11X0
1613c216190SVinod Koul	tristate "SA-11x0 DMA support"
1626947c3f2SVinod Koul	depends on ARCH_SA1100 || COMPILE_TEST
1633c216190SVinod Koul	select DMA_ENGINE
1643c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1653c216190SVinod Koul	help
1663c216190SVinod Koul	  Support the DMA engine found on Intel StrongARM SA-1100 and
1673c216190SVinod Koul	  SA-1110 SoCs.  This DMA engine can only be used with on-chip
1683c216190SVinod Koul	  devices.
1693c216190SVinod Koul
1703c216190SVinod Koulconfig DMA_SUN4I
1713c216190SVinod Koul	tristate "Allwinner A10 DMA SoCs support"
1726faf1ccaSMesih Kilinc	depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNIV
1736faf1ccaSMesih Kilinc	default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNIV)
1743c216190SVinod Koul	select DMA_ENGINE
1753c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1763c216190SVinod Koul	help
1773c216190SVinod Koul	  Enable support for the DMA controller present in the sun4i,
1783c216190SVinod Koul	  sun5i and sun7i Allwinner ARM SoCs.
1793c216190SVinod Koul
1803c216190SVinod Koulconfig DMA_SUN6I
1813c216190SVinod Koul	tristate "Allwinner A31 SoCs DMA support"
1828292a155SSamuel Holland	depends on ARCH_SUNXI || COMPILE_TEST
1833c216190SVinod Koul	depends on RESET_CONTROLLER
1843c216190SVinod Koul	select DMA_ENGINE
1853c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1863c216190SVinod Koul	help
1873c216190SVinod Koul	  Support for the DMA engine first found in Allwinner A31 SoCs.
1883c216190SVinod Koul
1891fe20f1bSEugeniy Paltsevconfig DW_AXI_DMAC
1901fe20f1bSEugeniy Paltsev	tristate "Synopsys DesignWare AXI DMA support"
19184dd3b2bSJean Delvare	depends on OF
192cd0f00c3SSia Jee Heng	depends on HAS_IOMEM
1931fe20f1bSEugeniy Paltsev	select DMA_ENGINE
1941fe20f1bSEugeniy Paltsev	select DMA_VIRTUAL_CHANNELS
1951fe20f1bSEugeniy Paltsev	help
1961fe20f1bSEugeniy Paltsev	  Enable support for Synopsys DesignWare AXI DMA controller.
1971fe20f1bSEugeniy Paltsev	  NOTE: This driver wasn't tested on 64 bit platform because
1981fe20f1bSEugeniy Paltsev	  of lack 64 bit platform with Synopsys DW AXI DMAC.
1991fe20f1bSEugeniy Paltsev
2003c216190SVinod Koulconfig EP93XX_DMA
2013c216190SVinod Koul	bool "Cirrus Logic EP93xx DMA support"
20249ad6d7dSVinod Koul	depends on ARCH_EP93XX || COMPILE_TEST
2033c216190SVinod Koul	select DMA_ENGINE
2043c216190SVinod Koul	help
2053c216190SVinod Koul	  Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
2063c216190SVinod Koul
2073c216190SVinod Koulconfig FSL_DMA
2083c216190SVinod Koul	tristate "Freescale Elo series DMA support"
2093c216190SVinod Koul	depends on FSL_SOC
2103c216190SVinod Koul	select DMA_ENGINE
2113c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
212a7f7f624SMasahiro Yamada	help
2133c216190SVinod Koul	  Enable support for the Freescale Elo series DMA controllers.
2143c216190SVinod Koul	  The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the
2153c216190SVinod Koul	  EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
2163c216190SVinod Koul	  some Txxx and Bxxx parts.
2173c216190SVinod Koul
2183c216190SVinod Koulconfig FSL_EDMA
2193c216190SVinod Koul	tristate "Freescale eDMA engine support"
2203c216190SVinod Koul	depends on OF
221b1e213a9SBaoquan He	depends on HAS_IOMEM
2223c216190SVinod Koul	select DMA_ENGINE
2233c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
2243c216190SVinod Koul	help
2253c216190SVinod Koul	  Support the Freescale eDMA engine with programmable channel
2263c216190SVinod Koul	  multiplexing capability for DMA request sources(slot).
2273c216190SVinod Koul	  This module can be found on Freescale Vybrid and LS-1 SoCs.
2283c216190SVinod Koul
229b092529eSPeng Maconfig FSL_QDMA
230b092529eSPeng Ma	tristate "NXP Layerscape qDMA engine support"
231b092529eSPeng Ma	depends on ARM || ARM64
232b092529eSPeng Ma	select DMA_ENGINE
233b092529eSPeng Ma	select DMA_VIRTUAL_CHANNELS
234b092529eSPeng Ma	select DMA_ENGINE_RAID
235b092529eSPeng Ma	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
236b092529eSPeng Ma	help
237b092529eSPeng Ma	 Support the NXP Layerscape qDMA engine with command queue and legacy mode.
238b092529eSPeng Ma	 Channel virtualization is supported through enqueuing of DMA jobs to,
239b092529eSPeng Ma	 or dequeuing DMA jobs from, different work queues.
240b092529eSPeng Ma	 This module can be found on NXP Layerscape SoCs.
241b092529eSPeng Ma	  The qdma driver only work on  SoCs with a DPAA hardware block.
242b092529eSPeng Ma
2433c216190SVinod Koulconfig FSL_RAID
2443c216190SVinod Koul	tristate "Freescale RAID engine Support"
2453c216190SVinod Koul	depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
2463c216190SVinod Koul	select DMA_ENGINE
2473c216190SVinod Koul	select DMA_ENGINE_RAID
248a7f7f624SMasahiro Yamada	help
2493c216190SVinod Koul	  Enable support for Freescale RAID Engine. RAID Engine is
2503c216190SVinod Koul	  available on some QorIQ SoCs (like P5020/P5040). It has
2513c216190SVinod Koul	  the capability to offload memcpy, xor and pq computation
2523c216190SVinod Koul	  for raid5/6.
2533c216190SVinod Koul
254e9f08b65SZhou Wangconfig HISI_DMA
255e9f08b65SZhou Wang	tristate "HiSilicon DMA Engine support"
256dcca9d04SGeert Uytterhoeven	depends on ARCH_HISI || COMPILE_TEST
257ae148b43SYueHaibing	depends on PCI_MSI
258e9f08b65SZhou Wang	select DMA_ENGINE
259e9f08b65SZhou Wang	select DMA_VIRTUAL_CHANNELS
260e9f08b65SZhou Wang	help
261e9f08b65SZhou Wang	  Support HiSilicon Kunpeng DMA engine.
262e9f08b65SZhou Wang
2633c216190SVinod Koulconfig IMG_MDC_DMA
2643c216190SVinod Koul	tristate "IMG MDC support"
2653c216190SVinod Koul	depends on MIPS || COMPILE_TEST
2663c216190SVinod Koul	depends on MFD_SYSCON
2673c216190SVinod Koul	select DMA_ENGINE
2683c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
2693c216190SVinod Koul	help
2703c216190SVinod Koul	  Enable support for the IMG multi-threaded DMA controller (MDC).
2713c216190SVinod Koul
2723c216190SVinod Koulconfig IMX_DMA
2733c216190SVinod Koul	tristate "i.MX DMA support"
2743c216190SVinod Koul	depends on ARCH_MXC
2753c216190SVinod Koul	select DMA_ENGINE
2763c216190SVinod Koul	help
2773c216190SVinod Koul	  Support the i.MX DMA engine. This engine is integrated into
2783c216190SVinod Koul	  Freescale i.MX1/21/27 chips.
2793c216190SVinod Koul
2803c216190SVinod Koulconfig IMX_SDMA
2813c216190SVinod Koul	tristate "i.MX SDMA support"
2823c216190SVinod Koul	depends on ARCH_MXC
2833c216190SVinod Koul	select DMA_ENGINE
28457b772b8SRobin Gong	select DMA_VIRTUAL_CHANNELS
2853c216190SVinod Koul	help
2863c216190SVinod Koul	  Support the i.MX SDMA engine. This engine is integrated into
2873c216190SVinod Koul	  Freescale i.MX25/31/35/51/53/6 chips.
288e5f4ae84SJoachim Eastwood
2899ab8b4e7SVinod Koulconfig INTEL_IDMA64
29035271227SLinus Torvalds	tristate "Intel integrated DMA 64-bit support"
291b1e213a9SBaoquan He	depends on HAS_IOMEM
29235271227SLinus Torvalds	select DMA_ENGINE
29335271227SLinus Torvalds	select DMA_VIRTUAL_CHANNELS
29435271227SLinus Torvalds	help
29535271227SLinus Torvalds	  Enable DMA support for Intel Low Power Subsystem such as found on
29635271227SLinus Torvalds	  Intel Skylake PCH.
29735271227SLinus Torvalds
298d9e5481fSDave Jiangconfig INTEL_IDXD_BUS
299d9e5481fSDave Jiang	tristate
300d9e5481fSDave Jiang	default INTEL_IDXD
301d9e5481fSDave Jiang
302bfe1d560SDave Jiangconfig INTEL_IDXD
303bfe1d560SDave Jiang	tristate "Intel Data Accelerators support"
304b2296eeaSJohannes Berg	depends on PCI && X86_64 && !UML
305d6a7bb86SRandy Dunlap	depends on PCI_MSI
306d8071323SDave Jiang	depends on PCI_PASID
3070705107fSDave Jiang	depends on SBITMAP
308bfe1d560SDave Jiang	select DMA_ENGINE
309bfe1d560SDave Jiang	help
310bfe1d560SDave Jiang	  Enable support for the Intel(R) data accelerators present
311bfe1d560SDave Jiang	  in Intel Xeon CPU.
312bfe1d560SDave Jiang
313bfe1d560SDave Jiang	  Say Y if you have such a platform.
314bfe1d560SDave Jiang
315bfe1d560SDave Jiang	  If unsure, say N.
316bfe1d560SDave Jiang
3176e7f3ee9SDave Jiangconfig INTEL_IDXD_COMPAT
3186e7f3ee9SDave Jiang	bool "Legacy behavior for idxd driver"
3196e7f3ee9SDave Jiang	depends on PCI && X86_64
3206e7f3ee9SDave Jiang	select INTEL_IDXD_BUS
3216e7f3ee9SDave Jiang	help
3226e7f3ee9SDave Jiang	  Compatible driver to support old /sys/bus/dsa/drivers/dsa behavior.
3236e7f3ee9SDave Jiang	  The old behavior performed driver bind/unbind for device and wq
3246e7f3ee9SDave Jiang	  devices all under the dsa driver. The compat driver will emulate
3256e7f3ee9SDave Jiang	  the legacy behavior in order to allow existing support apps (i.e.
3266e7f3ee9SDave Jiang	  accel-config) to continue function. It is expected that accel-config
3276e7f3ee9SDave Jiang	  v3.2 and earlier will need the compat mode. A distro with later
3286e7f3ee9SDave Jiang	  accel-config version can disable this compat config.
3296e7f3ee9SDave Jiang
3306e7f3ee9SDave Jiang	  Say Y if you have old applications that require such behavior.
3316e7f3ee9SDave Jiang
3326e7f3ee9SDave Jiang	  If unsure, say N.
3336e7f3ee9SDave Jiang
3348e50d392SDave Jiang# Config symbol that collects all the dependencies that's necessary to
3358e50d392SDave Jiang# support shared virtual memory for the devices supported by idxd.
3368e50d392SDave Jiangconfig INTEL_IDXD_SVM
3378e50d392SDave Jiang	bool "Accelerator Shared Virtual Memory Support"
3388e50d392SDave Jiang	depends on INTEL_IDXD
3398e50d392SDave Jiang	depends on INTEL_IOMMU_SVM
3408e50d392SDave Jiang	depends on PCI_PRI
3418e50d392SDave Jiang	depends on PCI_PASID
3428e50d392SDave Jiang	depends on PCI_IOV
3438e50d392SDave Jiang
34481dd4d4dSTom Zanussiconfig INTEL_IDXD_PERFMON
34581dd4d4dSTom Zanussi	bool "Intel Data Accelerators performance monitor support"
34681dd4d4dSTom Zanussi	depends on INTEL_IDXD
34781dd4d4dSTom Zanussi	help
34881dd4d4dSTom Zanussi	  Enable performance monitor (pmu) support for the Intel(R)
34981dd4d4dSTom Zanussi	  data accelerators present in Intel Xeon CPU.  With this
35081dd4d4dSTom Zanussi	  enabled, perf can be used to monitor the DSA (Intel Data
35181dd4d4dSTom Zanussi	  Streaming Accelerator) events described in the Intel DSA
35281dd4d4dSTom Zanussi	  spec.
35381dd4d4dSTom Zanussi
35481dd4d4dSTom Zanussi	  If unsure, say N.
35581dd4d4dSTom Zanussi
3560bbd5f4eSChris Leechconfig INTEL_IOATDMA
3570bbd5f4eSChris Leech	tristate "Intel I/OAT DMA support"
358bbac7a92SJohannes Berg	depends on PCI && X86_64 && !UML
3592ed6dc34SShannon Nelson	select DMA_ENGINE
3603cc377b9SDan Williams	select DMA_ENGINE_RAID
3612ed6dc34SShannon Nelson	select DCA
3622ed6dc34SShannon Nelson	help
3632ed6dc34SShannon Nelson	  Enable support for the Intel(R) I/OAT DMA engine present
3642ed6dc34SShannon Nelson	  in recent Intel Xeon chipsets.
3652ed6dc34SShannon Nelson
3662ed6dc34SShannon Nelson	  Say Y here if you have such a chipset.
3672ed6dc34SShannon Nelson
3682ed6dc34SShannon Nelson	  If unsure, say N.
369c2110923SDan Williams
3703c216190SVinod Koulconfig K3_DMA
3713c216190SVinod Koul	tristate "Hisilicon K3 DMA support"
37265b87548SJonathan Neuschäfer	depends on ARCH_HISI || COMPILE_TEST
373667dfed9SAndy Shevchenko	select DMA_ENGINE
374667dfed9SAndy Shevchenko	select DMA_VIRTUAL_CHANNELS
375667dfed9SAndy Shevchenko	help
3763c216190SVinod Koul	  Support the DMA engine for Hisilicon K3 platform
3773c216190SVinod Koul	  devices.
378667dfed9SAndy Shevchenko
379e06c4323SKeguang Zhangconfig LOONGSON1_APB_DMA
380e06c4323SKeguang Zhang	tristate "Loongson1 APB DMA support"
381e06c4323SKeguang Zhang	depends on MACH_LOONGSON32 || COMPILE_TEST
382e06c4323SKeguang Zhang	select DMA_ENGINE
383e06c4323SKeguang Zhang	select DMA_VIRTUAL_CHANNELS
384e06c4323SKeguang Zhang	help
385e06c4323SKeguang Zhang	  This selects support for the APB DMA controller in Loongson1 SoCs,
386e06c4323SKeguang Zhang	  which is required by Loongson1 NAND and audio support.
387e06c4323SKeguang Zhang
3888974f34dSBinbin Zhouconfig LOONGSON2_APB_DMA
3898974f34dSBinbin Zhou	tristate "Loongson2 APB DMA support"
3908974f34dSBinbin Zhou	depends on LOONGARCH || COMPILE_TEST
3918974f34dSBinbin Zhou	select DMA_ENGINE
3928974f34dSBinbin Zhou	select DMA_VIRTUAL_CHANNELS
3938974f34dSBinbin Zhou	help
3948974f34dSBinbin Zhou	  Support for the Loongson2 APB DMA controller driver. The
3958974f34dSBinbin Zhou	  DMA controller is having single DMA channel which can be
3968974f34dSBinbin Zhou	  configured for different peripherals like audio, nand, sdio
3978974f34dSBinbin Zhou	  etc which is in APB bus.
3988974f34dSBinbin Zhou
3998974f34dSBinbin Zhou	  This DMA controller transfers data from memory to peripheral fifo.
4008974f34dSBinbin Zhou	  It does not support memory to memory data transfer.
4018974f34dSBinbin Zhou
4023c216190SVinod Koulconfig LPC18XX_DMAMUX
4033c216190SVinod Koul	bool "NXP LPC18xx/43xx DMA MUX for PL080"
4043c216190SVinod Koul	depends on ARCH_LPC18XX || COMPILE_TEST
4053c216190SVinod Koul	depends on OF && AMBA_PL08X
4063c216190SVinod Koul	select MFD_SYSCON
4073c216190SVinod Koul	help
4083c216190SVinod Koul	  Enable support for DMA on NXP LPC18xx/43xx platforms
4093c216190SVinod Koul	  with PL080 and multiplexed DMA request lines.
410d5ea7b5eSHein Tibosch
4115d318b59SPiotr Wojtaszczykconfig LPC32XX_DMAMUX
4125d318b59SPiotr Wojtaszczyk	bool "NXP LPC32xx DMA MUX for PL080"
4135d318b59SPiotr Wojtaszczyk	depends on ARCH_LPC32XX || COMPILE_TEST
4145d318b59SPiotr Wojtaszczyk	depends on OF && AMBA_PL08X
4155d318b59SPiotr Wojtaszczyk	select MFD_SYSCON
4165d318b59SPiotr Wojtaszczyk	help
4175d318b59SPiotr Wojtaszczyk	  Support for PL080 multiplexed DMA request lines on
4185d318b59SPiotr Wojtaszczyk	  LPC32XX platrofm.
4195d318b59SPiotr Wojtaszczyk
420e7a3ff92SAngelo Dureghelloconfig MCF_EDMA
421e7a3ff92SAngelo Dureghello	tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs"
422fa555b50SArnd Bergmann	depends on M5441x || (COMPILE_TEST && FSL_EDMA=n)
423e7a3ff92SAngelo Dureghello	select DMA_ENGINE
424e7a3ff92SAngelo Dureghello	select DMA_VIRTUAL_CHANNELS
425e7a3ff92SAngelo Dureghello	help
426e7a3ff92SAngelo Dureghello	  Support the Freescale ColdFire eDMA engine, 64-channel
427e7a3ff92SAngelo Dureghello	  implementation that performs complex data transfers with
428e7a3ff92SAngelo Dureghello	  minimal intervention from a host processor.
429e7a3ff92SAngelo Dureghello	  This module can be found on Freescale ColdFire mcf5441x SoCs.
430e7a3ff92SAngelo Dureghello
4316c3214e6SJassi Brarconfig MILBEAUT_HDMAC
4326c3214e6SJassi Brar	tristate "Milbeaut AHB DMA support"
4336c3214e6SJassi Brar	depends on ARCH_MILBEAUT || COMPILE_TEST
4346c3214e6SJassi Brar	depends on OF
4356c3214e6SJassi Brar	select DMA_ENGINE
4366c3214e6SJassi Brar	select DMA_VIRTUAL_CHANNELS
4376c3214e6SJassi Brar	help
4386c3214e6SJassi Brar	  Say yes here to support the Socionext Milbeaut
4396c3214e6SJassi Brar	  HDMAC device.
4406c3214e6SJassi Brar
441a6e9be05SJassi Brarconfig MILBEAUT_XDMAC
442a6e9be05SJassi Brar	tristate "Milbeaut AXI DMA support"
443a6e9be05SJassi Brar	depends on ARCH_MILBEAUT || COMPILE_TEST
444a6e9be05SJassi Brar	depends on OF
445a6e9be05SJassi Brar	select DMA_ENGINE
446a6e9be05SJassi Brar	select DMA_VIRTUAL_CHANNELS
447a6e9be05SJassi Brar	help
448a6e9be05SJassi Brar	  Say yes here to support the Socionext Milbeaut
449a6e9be05SJassi Brar	  XDMAC device.
450a6e9be05SJassi Brar
4513c216190SVinod Koulconfig MMP_PDMA
452793dff4bSLubomir Rintel	tristate "MMP PDMA support"
453cd3a792aSVinod Koul	depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST
454dc78baa2SNicolas Ferre	select DMA_ENGINE
455dc78baa2SNicolas Ferre	help
4563c216190SVinod Koul	  Support the MMP PDMA engine for PXA and MMP platform.
457dc78baa2SNicolas Ferre
4583c216190SVinod Koulconfig MMP_TDMA
4599f3c14d4SLubomir Rintel	tristate "MMP Two-Channel DMA support"
46093d05f1eSVinod Koul	depends on ARCH_MMP || COMPILE_TEST
461e1f7c9eeSLudovic Desroches	select DMA_ENGINE
462d6619761SJérémy Lefaure	select GENERIC_ALLOCATOR
463e1f7c9eeSLudovic Desroches	help
4643c216190SVinod Koul	  Support the MMP Two-Channel DMA engine.
4653c216190SVinod Koul	  This engine used for MMP Audio DMA and pxa910 SQU.
466e1f7c9eeSLudovic Desroches
4673c216190SVinod Koulconfig MOXART_DMA
4683c216190SVinod Koul	tristate "MOXART DMA support"
4693c216190SVinod Koul	depends on ARCH_MOXART
470173acc7cSZhang Wei	select DMA_ENGINE
4713c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
4723c216190SVinod Koul	help
4733c216190SVinod Koul	  Enable support for the MOXA ART SoC DMA controller.
474173acc7cSZhang Wei
4753c216190SVinod Koul	  Say Y here if you enabled MMP ADMA, otherwise say N.
4762b49e0c5SAndy Shevchenko
4770fb6f739SPiotr Ziecikconfig MPC512X_DMA
4780fb6f739SPiotr Ziecik	tristate "Freescale MPC512x built-in DMA engine support"
479ba2eea25SIlya Yanok	depends on PPC_MPC512x || PPC_MPC831x
4800fb6f739SPiotr Ziecik	select DMA_ENGINE
481a7f7f624SMasahiro Yamada	help
4820fb6f739SPiotr Ziecik	  Enable support for the Freescale MPC512x built-in DMA engine.
4830fb6f739SPiotr Ziecik
484ff7b0479SSaeed Bisharaconfig MV_XOR
485ff7b0479SSaeed Bishara	bool "Marvell XOR engine support"
486c39290a1SGregory CLEMENT	depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST
487ff7b0479SSaeed Bishara	select DMA_ENGINE
4883cc377b9SDan Williams	select DMA_ENGINE_RAID
4895fc6d897SDan Williams	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
490a7f7f624SMasahiro Yamada	help
491ff7b0479SSaeed Bishara	  Enable support for the Marvell XOR engine.
492ff7b0479SSaeed Bishara
49319a340b1SThomas Petazzoniconfig MV_XOR_V2
49419a340b1SThomas Petazzoni	bool "Marvell XOR engine version 2 support "
49519a340b1SThomas Petazzoni	depends on ARM64
49619a340b1SThomas Petazzoni	select DMA_ENGINE
49719a340b1SThomas Petazzoni	select DMA_ENGINE_RAID
49819a340b1SThomas Petazzoni	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
49913e7accbSThomas Gleixner	select GENERIC_MSI_IRQ
500a7f7f624SMasahiro Yamada	help
50119a340b1SThomas Petazzoni	  Enable support for the Marvell version 2 XOR engine.
50219a340b1SThomas Petazzoni
50319a340b1SThomas Petazzoni	  This engine provides acceleration for copy, XOR and RAID6
50419a340b1SThomas Petazzoni	  operations, and is available on Marvell Armada 7K and 8K
50519a340b1SThomas Petazzoni	  platforms.
50619a340b1SThomas Petazzoni
5073c216190SVinod Koulconfig MXS_DMA
5083c216190SVinod Koul	bool "MXS DMA support"
509d762e4f3SFabio Estevam	depends on ARCH_MXS || ARCH_MXC || COMPILE_TEST
5103c216190SVinod Koul	select STMP_DEVICE
5113c216190SVinod Koul	select DMA_ENGINE
5123c216190SVinod Koul	help
5133c216190SVinod Koul	  Support the MXS DMA engine. This engine including APBH-DMA
5142446563cSFabio Estevam	  and APBX-DMA is integrated into some Freescale chips.
5153c216190SVinod Koul
5163c216190SVinod Koulconfig NBPFAXI_DMA
5173c216190SVinod Koul	tristate "Renesas Type-AXI NBPF DMA support"
5183c216190SVinod Koul	select DMA_ENGINE
5193c216190SVinod Koul	depends on ARM || COMPILE_TEST
5203c216190SVinod Koul	help
5213c216190SVinod Koul	  Support for "Type-AXI" NBPF DMA IPs from Renesas
5223c216190SVinod Koul
52347e20577SManivannan Sadhasivamconfig OWL_DMA
52447e20577SManivannan Sadhasivam	tristate "Actions Semi Owl SoCs DMA support"
52547e20577SManivannan Sadhasivam	depends on ARCH_ACTIONS
52647e20577SManivannan Sadhasivam	select DMA_ENGINE
52747e20577SManivannan Sadhasivam	select DMA_VIRTUAL_CHANNELS
52847e20577SManivannan Sadhasivam	help
52947e20577SManivannan Sadhasivam	  Enable support for the Actions Semi Owl SoCs DMA controller.
53047e20577SManivannan Sadhasivam
5313c216190SVinod Koulconfig PCH_DMA
5323c216190SVinod Koul	tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA"
5333c216190SVinod Koul	depends on PCI && (X86_32 || COMPILE_TEST)
5343c216190SVinod Koul	select DMA_ENGINE
5353c216190SVinod Koul	help
5363c216190SVinod Koul	  Enable support for Intel EG20T PCH DMA engine.
5373c216190SVinod Koul
5383c216190SVinod Koul	  This driver also can be used for LAPIS Semiconductor IOH(Input/
5393c216190SVinod Koul	  Output Hub), ML7213, ML7223 and ML7831.
5403c216190SVinod Koul	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
5413c216190SVinod Koul	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
5423c216190SVinod Koul	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
5433c216190SVinod Koul	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
5443c216190SVinod Koul
5453c216190SVinod Koulconfig PL330_DMA
5463c216190SVinod Koul	tristate "DMA API Driver for PL330"
5473c216190SVinod Koul	select DMA_ENGINE
5483c216190SVinod Koul	depends on ARM_AMBA
5493c216190SVinod Koul	help
5503c216190SVinod Koul	  Select if your platform has one or more PL330 DMACs.
5513c216190SVinod Koul	  You need to provide platform specific settings via
5523c216190SVinod Koul	  platform_data for a dma-pl330 device.
5533c216190SVinod Koul
554a57e16cfSRobert Jarzmikconfig PXA_DMA
555a57e16cfSRobert Jarzmik	bool "PXA DMA support"
5569fc2f03eSKrzysztof Kozlowski	depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST
557a57e16cfSRobert Jarzmik	select DMA_ENGINE
558a57e16cfSRobert Jarzmik	select DMA_VIRTUAL_CHANNELS
559a57e16cfSRobert Jarzmik	help
560a57e16cfSRobert Jarzmik	  Support the DMA engine for PXA. It is also compatible with MMP PDMA
561a57e16cfSRobert Jarzmik	  platform. The internal DMA IP of all PXA variants is supported, with
562a57e16cfSRobert Jarzmik	  16 to 32 channels for peripheral to memory or memory to memory
563a57e16cfSRobert Jarzmik	  transfers.
564a57e16cfSRobert Jarzmik
565905ca51eSLogan Gunthorpeconfig PLX_DMA
566905ca51eSLogan Gunthorpe	tristate "PLX ExpressLane PEX Switch DMA Engine Support"
567905ca51eSLogan Gunthorpe	depends on PCI
568905ca51eSLogan Gunthorpe	select DMA_ENGINE
569905ca51eSLogan Gunthorpe	help
570905ca51eSLogan Gunthorpe	  Some PLX ExpressLane PCI Switches support additional DMA engines.
571905ca51eSLogan Gunthorpe	  These are exposed via extra functions on the switch's
572905ca51eSLogan Gunthorpe	  upstream port. Each function exposes one DMA channel.
573905ca51eSLogan Gunthorpe
574db7d07b5SInochi Amaotoconfig SOPHGO_CV1800B_DMAMUX
575db7d07b5SInochi Amaoto	tristate "Sophgo CV1800/SG2000 series SoC DMA multiplexer support"
576db7d07b5SInochi Amaoto	depends on MFD_SYSCON
577db7d07b5SInochi Amaoto	depends on ARCH_SOPHGO || COMPILE_TEST
578db7d07b5SInochi Amaoto	help
579db7d07b5SInochi Amaoto	  Support for the DMA multiplexer on Sophgo CV1800/SG2000
580db7d07b5SInochi Amaoto	  series SoCs.
581db7d07b5SInochi Amaoto	  Say Y here if your board have this soc.
582db7d07b5SInochi Amaoto
5833c216190SVinod Koulconfig STE_DMA40
5843c216190SVinod Koul	bool "ST-Ericsson DMA40 support"
5853c216190SVinod Koul	depends on ARCH_U8500
5863c216190SVinod Koul	select DMA_ENGINE
5875a1a3b9cSLinus Walleij	select SRAM
5883c216190SVinod Koul	help
5893c216190SVinod Koul	  Support for ST-Ericsson DMA40 controller
5903c216190SVinod Koul
5916b4cd727SPeter Griffinconfig ST_FDMA
5926b4cd727SPeter Griffin	tristate "ST FDMA dmaengine support"
5936b4cd727SPeter Griffin	depends on ARCH_STI
5943d6b3715SVinod Koul	depends on REMOTEPROC
5956b4cd727SPeter Griffin	select ST_SLIM_REMOTEPROC
5966b4cd727SPeter Griffin	select DMA_ENGINE
5976b4cd727SPeter Griffin	select DMA_VIRTUAL_CHANNELS
5986b4cd727SPeter Griffin	help
5996b4cd727SPeter Griffin	  Enable support for ST FDMA controller.
6006b4cd727SPeter Griffin	  It supports 16 independent DMA channels, accepts up to 32 DMA requests
6016b4cd727SPeter Griffin
6026b4cd727SPeter Griffin	  Say Y here if you have such a chipset.
6036b4cd727SPeter Griffin	  If unsure, say N.
6046b4cd727SPeter Griffin
6059b3b8171SBaolin Wangconfig SPRD_DMA
6069b3b8171SBaolin Wang	tristate "Spreadtrum DMA support"
6079b3b8171SBaolin Wang	depends on ARCH_SPRD || COMPILE_TEST
6089b3b8171SBaolin Wang	select DMA_ENGINE
6099b3b8171SBaolin Wang	select DMA_VIRTUAL_CHANNELS
6109b3b8171SBaolin Wang	help
6119b3b8171SBaolin Wang	  Enable support for the on-chip DMA controller on Spreadtrum platform.
6129b3b8171SBaolin Wang
613ea76f0b3SAtsushi Nemotoconfig TXX9_DMAC
614ea76f0b3SAtsushi Nemoto	tristate "Toshiba TXx9 SoC DMA support"
615455481fcSThomas Bogendoerfer	depends on MACH_TX49XX
616ea76f0b3SAtsushi Nemoto	select DMA_ENGINE
617ea76f0b3SAtsushi Nemoto	help
618ea76f0b3SAtsushi Nemoto	  Support the TXx9 SoC internal DMA controller.  This can be
619ea76f0b3SAtsushi Nemoto	  integrated in chips such as the Toshiba TX4927/38/39.
620ea76f0b3SAtsushi Nemoto
621ee170280SAkhil Rconfig TEGRA186_GPC_DMA
622ee170280SAkhil R	tristate "NVIDIA Tegra GPC DMA support"
623ee170280SAkhil R	depends on (ARCH_TEGRA || COMPILE_TEST) && ARCH_DMA_ADDR_T_64BIT
6242cdd3ca6SYueHaibing	depends on IOMMU_API
625ee170280SAkhil R	select DMA_ENGINE
6267511f287SMark Salter	select DMA_VIRTUAL_CHANNELS
627ee170280SAkhil R	help
628ee170280SAkhil R	  Support for the NVIDIA Tegra General Purpose Central DMA controller.
629ee170280SAkhil R	  The DMA controller has multiple DMA channels which can be configured
630ee170280SAkhil R	  for different peripherals like UART, SPI, etc which are on APB bus.
631ee170280SAkhil R	  This DMA controller transfers data from memory to peripheral FIFO
632ee170280SAkhil R	  or vice versa. It also supports memory to memory data transfer.
633ee170280SAkhil R
634ec8a1586SLaxman Dewanganconfig TEGRA20_APB_DMA
635703b70f4SDmitry Osipenko	tristate "NVIDIA Tegra20 APB DMA support"
6366c41ac96SDmitry Osipenko	depends on ARCH_TEGRA || COMPILE_TEST
637ec8a1586SLaxman Dewangan	select DMA_ENGINE
638ec8a1586SLaxman Dewangan	help
639ec8a1586SLaxman Dewangan	  Support for the NVIDIA Tegra20 APB DMA controller driver. The
640ec8a1586SLaxman Dewangan	  DMA controller is having multiple DMA channel which can be
641ec8a1586SLaxman Dewangan	  configured for different peripherals like audio, UART, SPI,
642ec8a1586SLaxman Dewangan	  I2C etc which is in APB bus.
643ec8a1586SLaxman Dewangan	  This DMA controller transfers data from memory to peripheral fifo
644ec8a1586SLaxman Dewangan	  or vice versa. It does not support memory to memory data transfer.
645ec8a1586SLaxman Dewangan
646f46b1957SJon Hunterconfig TEGRA210_ADMA
6473ed16793SPaul Gortmaker	tristate "NVIDIA Tegra210 ADMA support"
64833b7db45SPeter Robinson	depends on (ARCH_TEGRA || COMPILE_TEST)
649f46b1957SJon Hunter	select DMA_ENGINE
650f46b1957SJon Hunter	select DMA_VIRTUAL_CHANNELS
651f46b1957SJon Hunter	help
65233b7db45SPeter Robinson	  Support for the NVIDIA Tegra210/Tegra186/Tegra194/Tegra234 ADMA
65333b7db45SPeter Robinson	  controller driver. The DMA controller has multiple DMA channels
65433b7db45SPeter Robinson	  and is used to service various audio clients in the Tegra210
65533b7db45SPeter Robinson	  audio processing engine (APE). This DMA controller transfers
65633b7db45SPeter Robinson	  data from memory to peripheral and vice versa. It does not
65733b7db45SPeter Robinson	  support memory to memory data transfer.
658f46b1957SJon Hunter
659de5d4453SRichard Röjforsconfig TIMB_DMA
660de5d4453SRichard Röjfors	tristate "Timberdale FPGA DMA support"
6614aa258afSVinod Koul	depends on MFD_TIMBERDALE || COMPILE_TEST
662de5d4453SRichard Röjfors	select DMA_ENGINE
663de5d4453SRichard Röjfors	help
664de5d4453SRichard Röjfors	  Enable support for the Timberdale FPGA DMA engine.
665de5d4453SRichard Röjfors
66632e74aabSMasahiro Yamadaconfig UNIPHIER_MDMAC
66732e74aabSMasahiro Yamada	tristate "UniPhier MIO DMAC"
66832e74aabSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
66932e74aabSMasahiro Yamada	depends on OF
67032e74aabSMasahiro Yamada	select DMA_ENGINE
67132e74aabSMasahiro Yamada	select DMA_VIRTUAL_CHANNELS
67232e74aabSMasahiro Yamada	help
67332e74aabSMasahiro Yamada	  Enable support for the MIO DMAC (Media I/O DMA controller) on the
67432e74aabSMasahiro Yamada	  UniPhier platform.  This DMA controller is used as the external
67532e74aabSMasahiro Yamada	  DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.
67632e74aabSMasahiro Yamada
677667b9251SKunihiko Hayashiconfig UNIPHIER_XDMAC
678667b9251SKunihiko Hayashi	tristate "UniPhier XDMAC support"
679667b9251SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
680667b9251SKunihiko Hayashi	depends on OF
681667b9251SKunihiko Hayashi	select DMA_ENGINE
682667b9251SKunihiko Hayashi	select DMA_VIRTUAL_CHANNELS
683667b9251SKunihiko Hayashi	help
684667b9251SKunihiko Hayashi	  Enable support for the XDMAC (external DMA controller) on the
685667b9251SKunihiko Hayashi	  UniPhier platform. This DMA controller can transfer data from
686667b9251SKunihiko Hayashi	  memory to memory, memory to peripheral and peripheral to memory.
687667b9251SKunihiko Hayashi
6883c216190SVinod Koulconfig XGENE_DMA
6893c216190SVinod Koul	tristate "APM X-Gene DMA support"
6903c216190SVinod Koul	depends on ARCH_XGENE || COMPILE_TEST
691b3040e40SJassi Brar	select DMA_ENGINE
6923c216190SVinod Koul	select DMA_ENGINE_RAID
6933c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
694b3040e40SJassi Brar	help
6953c216190SVinod Koul	  Enable support for the APM X-Gene SoC DMA engine.
6965f9e685aSJonas Jensen
697fde57a7cSKedareswara rao Appanaconfig XILINX_DMA
698fde57a7cSKedareswara rao Appana	tristate "Xilinx AXI DMAS Engine"
6991b13e52cSZong Li	depends on HAS_IOMEM
7009cd4360dSSrikanth Thokala	select DMA_ENGINE
7019cd4360dSSrikanth Thokala	help
7029cd4360dSSrikanth Thokala	  Enable support for Xilinx AXI VDMA Soft IP.
7039cd4360dSSrikanth Thokala
704fde57a7cSKedareswara rao Appana	  AXI VDMA engine provides high-bandwidth direct memory access
7059cd4360dSSrikanth Thokala	  between memory and AXI4-Stream video type target
7069cd4360dSSrikanth Thokala	  peripherals including peripherals which support AXI4-
7079cd4360dSSrikanth Thokala	  Stream Video Protocol.  It has two stream interfaces/
7089cd4360dSSrikanth Thokala	  channels, Memory Mapped to Stream (MM2S) and Stream to
7099cd4360dSSrikanth Thokala	  Memory Mapped (S2MM) for the data transfers.
710fde57a7cSKedareswara rao Appana	  AXI CDMA engine provides high-bandwidth direct memory access
711fde57a7cSKedareswara rao Appana	  between a memory-mapped source address and a memory-mapped
712fde57a7cSKedareswara rao Appana	  destination address.
713fde57a7cSKedareswara rao Appana	  AXI DMA engine provides high-bandwidth one dimensional direct
714fde57a7cSKedareswara rao Appana	  memory access between memory and AXI4-Stream target peripherals.
7156ccd692bSRadhey Shyam Pandey	  AXI MCDMA engine provides high-bandwidth direct memory access
7166ccd692bSRadhey Shyam Pandey	  between memory and AXI4-Stream target peripherals. It provides
7176ccd692bSRadhey Shyam Pandey	  the scatter gather interface with multiple channels independent
7186ccd692bSRadhey Shyam Pandey	  configuration support.
7199cd4360dSSrikanth Thokala
72017ce2522SLizhi Houconfig XILINX_XDMA
72117ce2522SLizhi Hou	tristate "Xilinx DMA/Bridge Subsystem DMA Engine"
72217ce2522SLizhi Hou	depends on HAS_IOMEM
72317ce2522SLizhi Hou	select DMA_ENGINE
72417ce2522SLizhi Hou	select DMA_VIRTUAL_CHANNELS
72517ce2522SLizhi Hou	select REGMAP_MMIO
72617ce2522SLizhi Hou	help
72717ce2522SLizhi Hou	  Enable support for Xilinx DMA/Bridge Subsystem DMA engine. The DMA
72817ce2522SLizhi Hou	  provides high performance block data movement between Host memory
72917ce2522SLizhi Hou	  and the DMA subsystem. These direct memory transfers can be both in
73017ce2522SLizhi Hou	  the Host to Card (H2C) and Card to Host (C2H) transfers.
73117ce2522SLizhi Hou	  The core also provides up to 16 user interrupt wires that generate
73217ce2522SLizhi Hou	  interrupts to the host.
73317ce2522SLizhi Hou
734b0cc417cSKedareswara rao Appanaconfig XILINX_ZYNQMP_DMA
735b0cc417cSKedareswara rao Appana	tristate "Xilinx ZynqMP DMA Engine"
7367073b5a8SMichael Tretter	depends on ARCH_ZYNQ || MICROBLAZE || ARM64 || COMPILE_TEST
737b0cc417cSKedareswara rao Appana	select DMA_ENGINE
738b0cc417cSKedareswara rao Appana	help
739b0cc417cSKedareswara rao Appana	  Enable support for Xilinx ZynqMP DMA controller.
7405fa422c9SVinod Koul
7417cbb0c63SHyun Kwonconfig XILINX_ZYNQMP_DPDMA
7427cbb0c63SHyun Kwon	tristate "Xilinx DPDMA Engine"
74332828b82SLaurent Pinchart	depends on HAS_IOMEM && OF
7447cbb0c63SHyun Kwon	select DMA_ENGINE
7457cbb0c63SHyun Kwon	select DMA_VIRTUAL_CHANNELS
7467cbb0c63SHyun Kwon	help
7477cbb0c63SHyun Kwon	  Enable support for Xilinx ZynqMP DisplayPort DMA. Choose this option
7487cbb0c63SHyun Kwon	  if you have a Xilinx ZynqMP SoC with a DisplayPort subsystem. The
7497cbb0c63SHyun Kwon	  driver provides the dmaengine required by the DisplayPort subsystem
7507cbb0c63SHyun Kwon	  display driver.
7517cbb0c63SHyun Kwon
7523c216190SVinod Koul# driver files
75373d5fc92SNishad Sarafsource "drivers/dma/amd/Kconfig"
75473d5fc92SNishad Saraf
7553c216190SVinod Koulsource "drivers/dma/bestcomm/Kconfig"
7565689ba7fSAndrew Bresticker
757548c4597SSean Wangsource "drivers/dma/mediatek/Kconfig"
758548c4597SSean Wang
759d9b31efcSSinan Kayasource "drivers/dma/qcom/Kconfig"
760d9b31efcSSinan Kaya
7613c216190SVinod Koulsource "drivers/dma/dw/Kconfig"
7629f2fd0dfSRameshwar Prasad Sahu
763e63d79d1SGustavo Pimentelsource "drivers/dma/dw-edma/Kconfig"
764e63d79d1SGustavo Pimentel
7653c216190SVinod Koulsource "drivers/dma/hsu/Kconfig"
7662ed6dc34SShannon Nelson
7676973886aSGreen Wansource "drivers/dma/sf-pdma/Kconfig"
7686973886aSGreen Wan
7693c216190SVinod Koulsource "drivers/dma/sh/Kconfig"
77050437bffSRussell King
771d88b1397SPeter Ujfalusisource "drivers/dma/ti/Kconfig"
772d88b1397SPeter Ujfalusi
7737fdf9b05SPeng Masource "drivers/dma/fsl-dpaa2-qdma/Kconfig"
7747fdf9b05SPeng Ma
77532d31c79SAmireddy Mallikarjuna reddysource "drivers/dma/lgm/Kconfig"
77632d31c79SAmireddy Mallikarjuna reddy
77776178a2cSAmelie Delaunaysource "drivers/dma/stm32/Kconfig"
77876178a2cSAmelie Delaunay
7793c216190SVinod Koul# clients
7802ed6dc34SShannon Nelsoncomment "DMA Clients"
7812ed6dc34SShannon Nelson	depends on DMA_ENGINE
7822ed6dc34SShannon Nelson
783729b5d1bSDan Williamsconfig ASYNC_TX_DMA
784729b5d1bSDan Williams	bool "Async_tx: Offload support for the async_tx api"
7859a8de639SDan Williams	depends on DMA_ENGINE
786729b5d1bSDan Williams	help
787729b5d1bSDan Williams	  This allows the async_tx api to take advantage of offload engines for
788729b5d1bSDan Williams	  memcpy, memset, xor, and raid6 p+q operations.  If your platform has
789729b5d1bSDan Williams	  a dma engine that can perform raid operations and you have enabled
790729b5d1bSDan Williams	  MD_RAID456 say Y.
791729b5d1bSDan Williams
792729b5d1bSDan Williams	  If unsure, say N.
793729b5d1bSDan Williams
7944a776f0aSHaavard Skinnemoenconfig DMATEST
7954a776f0aSHaavard Skinnemoen	tristate "DMA Test client"
7964a776f0aSHaavard Skinnemoen	depends on DMA_ENGINE
79758532e66SStefan Roese	select DMA_ENGINE_RAID
7984a776f0aSHaavard Skinnemoen	help
7994a776f0aSHaavard Skinnemoen	  Simple DMA test client. Say N unless you're debugging a
8004a776f0aSHaavard Skinnemoen	  DMA Device driver.
8014a776f0aSHaavard Skinnemoen
8023cc377b9SDan Williamsconfig DMA_ENGINE_RAID
8033cc377b9SDan Williams	bool
8043cc377b9SDan Williams
8052ed6dc34SShannon Nelsonendif
806