2 # DMA engine configuration
6 bool "DMA Engine support"
9 DMA engines can do asynchronous data transfers without
10 involving the host CPU. Currently, this framework can be
11 used to offload memory copies in the network stack and
12 RAID operations in the MD driver. This menu only presents
13 DMA Device drivers supported by the configured arch, it may
14 be empty in some cases.
16 config DMADEVICES_DEBUG
17 bool "DMA Engine debugging"
18 depends on DMADEVICES != n
20 This is an option for use by developers; most people should
21 say N here. This enables DMA engine core and driver debugging.
23 config DMADEVICES_VDEBUG
24 bool "DMA Engine verbose debugging"
25 depends on DMADEVICES_DEBUG != n
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.
36 config INTEL_MIC_X100_DMA
37 tristate "Intel MIC X100 DMA Driver"
38 depends on 64BIT && X86 && INTEL_MIC_BUS
42 This enables DMA support for the Intel Many Integrated Core
43 (MIC) family of PCIe form factor coprocessor X100 devices that
44 run a 64 bit Linux OS. This driver will be used by both MIC
45 host and card drivers.
47 If you are building host kernel with a MIC device or a card
48 kernel for a MIC device, then say M (recommended) or Y, else
49 say N. If unsure say N.
51 More information about the Intel MIC family as well as the Linux
52 OS and tools for MIC to use with this driver are available from
53 <http://software.intel.com/en-us/mic-developer>.
56 tristate "Intel MID DMA support for Peripheral DMA controllers"
61 Enable support for the Intel(R) MID DMA engine present
62 in Intel MID chipsets.
64 Say Y here if you have such a chipset.
68 config ASYNC_TX_ENABLE_CHANNEL_SWITCH
72 bool "ARM PrimeCell PL080 or PL081 support"
75 select DMA_VIRTUAL_CHANNELS
77 Platform has a PL08x DMAC device
78 which can provide DMA engine support
81 tristate "Intel I/OAT DMA support"
84 select DMA_ENGINE_RAID
87 Enable support for the Intel(R) I/OAT DMA engine present
88 in recent Intel Xeon chipsets.
90 Say Y here if you have such a chipset.
95 tristate "Intel IOP ADMA support"
96 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
98 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
100 Enable support for the Intel(R) IOP Series RAID engines.
102 source "drivers/dma/dw/Kconfig"
105 tristate "Atmel AHB DMA support"
109 Support the Atmel AHB DMA controller.
112 tristate "Freescale Elo series DMA support"
115 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
117 Enable support for the Freescale Elo series DMA controllers.
118 The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the
119 EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
120 some Txxx and Bxxx parts.
123 tristate "Freescale MPC512x built-in DMA engine support"
124 depends on PPC_MPC512x || PPC_MPC831x
127 Enable support for the Freescale MPC512x built-in DMA engine.
129 source "drivers/dma/bestcomm/Kconfig"
132 bool "Marvell XOR engine support"
133 depends on PLAT_ORION
135 select DMA_ENGINE_RAID
136 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
138 Enable support for the Marvell XOR engine.
141 bool "MX3x Image Processing Unit support"
146 If you plan to use the Image Processing unit in the i.MX3x, say
147 Y here. If unsure, select Y.
150 int "Number of dynamically mapped interrupts for IPU"
155 Out of 137 interrupt sources on i.MX31 IPU only very few are used.
156 To avoid bloating the irq_desc[] array we allocate a sufficient
157 number of IRQ slots and map them dynamically to specific sources.
160 tristate "Toshiba TXx9 SoC DMA support"
161 depends on MACH_TX49XX || MACH_TX39XX
164 Support the TXx9 SoC internal DMA controller. This can be
165 integrated in chips such as the Toshiba TX4927/38/39.
167 config TEGRA20_APB_DMA
168 bool "NVIDIA Tegra20 APB DMA support"
169 depends on ARCH_TEGRA
172 Support for the NVIDIA Tegra20 APB DMA controller driver. The
173 DMA controller is having multiple DMA channel which can be
174 configured for different peripherals like audio, UART, SPI,
175 I2C etc which is in APB bus.
176 This DMA controller transfers data from memory to peripheral fifo
177 or vice versa. It does not support memory to memory data transfer.
180 tristate "Samsung S3C24XX DMA support"
181 depends on ARCH_S3C24XX && !S3C24XX_DMA
183 select DMA_VIRTUAL_CHANNELS
185 Support for the Samsung S3C24XX DMA controller driver. The
186 DMA controller is having multiple DMA channels which can be
187 configured for different peripherals like audio, UART, SPI.
188 The DMA controller can transfer data from memory to peripheral,
189 periphal to memory, periphal to periphal and memory to memory.
191 source "drivers/dma/sh/Kconfig"
194 bool "ST-Ericsson COH901318 DMA support"
198 Enable support for ST-Ericsson COH 901 318 DMA.
201 bool "ST-Ericsson DMA40 support"
202 depends on ARCH_U8500
205 Support for ST-Ericsson DMA40 controller
207 config AMCC_PPC440SPE_ADMA
208 tristate "AMCC PPC440SPe ADMA support"
209 depends on 440SPe || 440SP
211 select DMA_ENGINE_RAID
212 select ARCH_HAS_ASYNC_TX_FIND_CHANNEL
213 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
215 Enable support for the AMCC PPC440SPe RAID engines.
218 tristate "Timberdale FPGA DMA support"
219 depends on MFD_TIMBERDALE
222 Enable support for the Timberdale FPGA DMA engine.
225 tristate "CSR SiRFprimaII/SiRFmarco DMA support"
229 Enable support for the CSR SiRFprimaII DMA engine.
232 bool "TI EDMA support"
233 depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE
235 select DMA_VIRTUAL_CHANNELS
239 Enable support for the TI EDMA controller. This DMA
240 engine is found on TI DaVinci and AM33xx parts.
242 config ARCH_HAS_ASYNC_TX_FIND_CHANNEL
246 tristate "DMA API Driver for PL330"
250 Select if your platform has one or more PL330 DMACs.
251 You need to provide platform specific settings via
252 platform_data for a dma-pl330 device.
255 tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA"
256 depends on PCI && (X86_32 || COMPILE_TEST)
259 Enable support for Intel EG20T PCH DMA engine.
261 This driver also can be used for LAPIS Semiconductor IOH(Input/
262 Output Hub), ML7213, ML7223 and ML7831.
263 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
264 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
265 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
266 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
269 tristate "i.MX SDMA support"
273 Support the i.MX SDMA engine. This engine is integrated into
274 Freescale i.MX25/31/35/51/53 chips.
277 tristate "i.MX DMA support"
281 Support the i.MX DMA engine. This engine is integrated into
282 Freescale i.MX1/21/27 chips.
285 bool "MXS DMA support"
286 depends on SOC_IMX23 || SOC_IMX28 || SOC_IMX6Q
290 Support the MXS DMA engine. This engine including APBH-DMA
291 and APBX-DMA is integrated into Freescale i.MX23/28/MX6Q/MX6DL chips.
294 bool "Cirrus Logic EP93xx DMA support"
295 depends on ARCH_EP93XX
298 Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
301 tristate "SA-11x0 DMA support"
302 depends on ARCH_SA1100
304 select DMA_VIRTUAL_CHANNELS
306 Support the DMA engine found on Intel StrongARM SA-1100 and
307 SA-1110 SoCs. This DMA engine can only be used with on-chip
311 bool "MMP Two-Channel DMA support"
316 Support the MMP Two-Channel DMA engine.
317 This engine used for MMP Audio DMA and pxa910 SQU.
318 It needs sram driver under mach-mmp.
320 Say Y here if you enabled MMP ADMA, otherwise say N.
323 tristate "OMAP DMA support"
326 select DMA_VIRTUAL_CHANNELS
329 tristate "BCM2835 DMA engine support"
330 depends on ARCH_BCM2835
332 select DMA_VIRTUAL_CHANNELS
335 tristate "AM33xx CPPI41 DMA support"
339 The Communications Port Programming Interface (CPPI) 4.1 DMA engine
340 is currently used by the USB driver on AM335x platforms.
343 bool "MMP PDMA support"
344 depends on (ARCH_MMP || ARCH_PXA)
347 Support the MMP PDMA engine for PXA and MMP platform.
350 tristate "JZ4740 DMA support"
351 depends on MACH_JZ4740
353 select DMA_VIRTUAL_CHANNELS
356 tristate "Hisilicon K3 DMA support"
357 depends on ARCH_HI3xxx
359 select DMA_VIRTUAL_CHANNELS
361 Support the DMA engine for Hisilicon K3 platform
365 tristate "MOXART DMA support"
366 depends on ARCH_MOXART
369 select DMA_VIRTUAL_CHANNELS
371 Enable support for the MOXA ART SoC DMA controller.
374 tristate "Freescale eDMA engine support"
377 select DMA_VIRTUAL_CHANNELS
379 Support the Freescale eDMA engine with programmable channel
380 multiplexing capability for DMA request sources(slot).
381 This module can be found on Freescale Vybrid and LS-1 SoCs.
384 tristate "Xilinx AXI VDMA Engine"
385 depends on (ARCH_ZYNQ || MICROBLAZE)
388 Enable support for Xilinx AXI VDMA Soft IP.
390 This engine provides high-bandwidth direct memory access
391 between memory and AXI4-Stream video type target
392 peripherals including peripherals which support AXI4-
393 Stream Video Protocol. It has two stream interfaces/
394 channels, Memory Mapped to Stream (MM2S) and Stream to
395 Memory Mapped (S2MM) for the data transfers.
400 config DMA_VIRTUAL_CHANNELS
411 comment "DMA Clients"
412 depends on DMA_ENGINE
415 bool "Network: TCP receive copy offload"
416 depends on DMA_ENGINE && NET
417 default (INTEL_IOATDMA || FSL_DMA)
420 This enables the use of DMA engines in the network stack to
421 offload receive copy-to-user operations, freeing CPU cycles.
423 Say Y here if you enabled INTEL_IOATDMA or FSL_DMA, otherwise
427 bool "Async_tx: Offload support for the async_tx api"
428 depends on DMA_ENGINE
430 This allows the async_tx api to take advantage of offload engines for
431 memcpy, memset, xor, and raid6 p+q operations. If your platform has
432 a dma engine that can perform raid operations and you have enabled
438 tristate "DMA Test client"
439 depends on DMA_ENGINE
441 Simple DMA test client. Say N unless you're debugging a
444 config DMA_ENGINE_RAID
448 tristate "QCOM BAM DMA support"
449 depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
451 select DMA_VIRTUAL_CHANNELS
453 Enable support for the QCOM BAM DMA controller. This controller
454 provides DMA capabilities for a variety of on-chip devices.