| # | |
| # DMA engine configuration | |
| # | |
| menuconfig DMADEVICES | |
| bool "DMA Engine support" | |
| depends on HAS_DMA | |
| help | |
| DMA engines can do asynchronous data transfers without | |
| involving the host CPU. Currently, this framework can be | |
| used to offload memory copies in the network stack and | |
| RAID operations in the MD driver. This menu only presents | |
| DMA Device drivers supported by the configured arch, it may | |
| be empty in some cases. | |
| config DMADEVICES_DEBUG | |
| bool "DMA Engine debugging" | |
| depends on DMADEVICES != n | |
| help | |
| This is an option for use by developers; most people should | |
| say N here. This enables DMA engine core and driver debugging. | |
| config DMADEVICES_VDEBUG | |
| bool "DMA Engine verbose debugging" | |
| depends on DMADEVICES_DEBUG != n | |
| help | |
| This is an option for use by developers; most people should | |
| say N here. This enables deeper (more verbose) debugging of | |
| the DMA engine core and drivers. | |
| if DMADEVICES | |
| comment "DMA Devices" | |
| #core | |
| config ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| bool | |
| config ARCH_HAS_ASYNC_TX_FIND_CHANNEL | |
| bool | |
| config DMA_ENGINE | |
| bool | |
| config DMA_VIRTUAL_CHANNELS | |
| tristate | |
| config DMA_ACPI | |
| def_bool y | |
| depends on ACPI | |
| config DMA_OF | |
| def_bool y | |
| depends on OF | |
| select DMA_ENGINE | |
| #devices | |
| config AMBA_PL08X | |
| bool "ARM PrimeCell PL080 or PL081 support" | |
| depends on ARM_AMBA | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Platform has a PL08x DMAC device | |
| which can provide DMA engine support | |
| config AMCC_PPC440SPE_ADMA | |
| tristate "AMCC PPC440SPe ADMA support" | |
| depends on 440SPe || 440SP | |
| select DMA_ENGINE | |
| select DMA_ENGINE_RAID | |
| select ARCH_HAS_ASYNC_TX_FIND_CHANNEL | |
| select ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| help | |
| Enable support for the AMCC PPC440SPe RAID engines. | |
| config AT_HDMAC | |
| tristate "Atmel AHB DMA support" | |
| depends on ARCH_AT91 | |
| select DMA_ENGINE | |
| help | |
| Support the Atmel AHB DMA controller. | |
| config AT_XDMAC | |
| tristate "Atmel XDMA support" | |
| depends on ARCH_AT91 | |
| select DMA_ENGINE | |
| help | |
| Support the Atmel XDMA controller. | |
| config AXI_DMAC | |
| tristate "Analog Devices AXI-DMAC DMA support" | |
| depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_SOCFPGA || COMPILE_TEST | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Enable support for the Analog Devices AXI-DMAC peripheral. This DMA | |
| controller is often used in Analog Device's reference designs for FPGA | |
| platforms. | |
| config COH901318 | |
| bool "ST-Ericsson COH901318 DMA support" | |
| select DMA_ENGINE | |
| depends on ARCH_U300 | |
| help | |
| Enable support for ST-Ericsson COH 901 318 DMA. | |
| config DMA_BCM2835 | |
| tristate "BCM2835 DMA engine support" | |
| depends on ARCH_BCM2835 | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| config DMA_JZ4740 | |
| tristate "JZ4740 DMA support" | |
| depends on MACH_JZ4740 | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| config DMA_JZ4780 | |
| tristate "JZ4780 DMA support" | |
| depends on MACH_JZ4780 | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| This selects support for the DMA controller in Ingenic JZ4780 SoCs. | |
| If you have a board based on such a SoC and wish to use DMA for | |
| devices which can use the DMA controller, say Y or M here. | |
| config DMA_OMAP | |
| tristate "OMAP DMA support" | |
| depends on ARCH_OMAP | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| select TI_DMA_CROSSBAR if SOC_DRA7XX | |
| config DMA_SA11X0 | |
| tristate "SA-11x0 DMA support" | |
| depends on ARCH_SA1100 | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support the DMA engine found on Intel StrongARM SA-1100 and | |
| SA-1110 SoCs. This DMA engine can only be used with on-chip | |
| devices. | |
| config DMA_SUN4I | |
| tristate "Allwinner A10 DMA SoCs support" | |
| depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I | |
| default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I) | |
| select DMA_ENGINE | |
| select DMA_OF | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Enable support for the DMA controller present in the sun4i, | |
| sun5i and sun7i Allwinner ARM SoCs. | |
| config DMA_SUN6I | |
| tristate "Allwinner A31 SoCs DMA support" | |
| depends on MACH_SUN6I || MACH_SUN8I || COMPILE_TEST | |
| depends on RESET_CONTROLLER | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support for the DMA engine first found in Allwinner A31 SoCs. | |
| config EP93XX_DMA | |
| bool "Cirrus Logic EP93xx DMA support" | |
| depends on ARCH_EP93XX | |
| select DMA_ENGINE | |
| help | |
| Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller. | |
| config FSL_DMA | |
| tristate "Freescale Elo series DMA support" | |
| depends on FSL_SOC | |
| select DMA_ENGINE | |
| select ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| ---help--- | |
| Enable support for the Freescale Elo series DMA controllers. | |
| The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the | |
| EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on | |
| some Txxx and Bxxx parts. | |
| config FSL_EDMA | |
| tristate "Freescale eDMA engine support" | |
| depends on OF | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support the Freescale eDMA engine with programmable channel | |
| multiplexing capability for DMA request sources(slot). | |
| This module can be found on Freescale Vybrid and LS-1 SoCs. | |
| config FSL_RAID | |
| tristate "Freescale RAID engine Support" | |
| depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| select DMA_ENGINE | |
| select DMA_ENGINE_RAID | |
| ---help--- | |
| Enable support for Freescale RAID Engine. RAID Engine is | |
| available on some QorIQ SoCs (like P5020/P5040). It has | |
| the capability to offload memcpy, xor and pq computation | |
| for raid5/6. | |
| config IMG_MDC_DMA | |
| tristate "IMG MDC support" | |
| depends on MIPS || COMPILE_TEST | |
| depends on MFD_SYSCON | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Enable support for the IMG multi-threaded DMA controller (MDC). | |
| config IMX_DMA | |
| tristate "i.MX DMA support" | |
| depends on ARCH_MXC | |
| select DMA_ENGINE | |
| help | |
| Support the i.MX DMA engine. This engine is integrated into | |
| Freescale i.MX1/21/27 chips. | |
| config IMX_SDMA | |
| tristate "i.MX SDMA support" | |
| depends on ARCH_MXC | |
| select DMA_ENGINE | |
| help | |
| Support the i.MX SDMA engine. This engine is integrated into | |
| Freescale i.MX25/31/35/51/53/6 chips. | |
| config INTEL_IDMA64 | |
| tristate "Intel integrated DMA 64-bit support" | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Enable DMA support for Intel Low Power Subsystem such as found on | |
| Intel Skylake PCH. | |
| config INTEL_IOATDMA | |
| tristate "Intel I/OAT DMA support" | |
| depends on PCI && X86_64 | |
| select DMA_ENGINE | |
| select DMA_ENGINE_RAID | |
| select DCA | |
| help | |
| Enable support for the Intel(R) I/OAT DMA engine present | |
| in recent Intel Xeon chipsets. | |
| Say Y here if you have such a chipset. | |
| If unsure, say N. | |
| config INTEL_IOP_ADMA | |
| tristate "Intel IOP ADMA support" | |
| depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX | |
| select DMA_ENGINE | |
| select ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| help | |
| Enable support for the Intel(R) IOP Series RAID engines. | |
| config INTEL_MIC_X100_DMA | |
| tristate "Intel MIC X100 DMA Driver" | |
| depends on 64BIT && X86 && INTEL_MIC_BUS | |
| select DMA_ENGINE | |
| help | |
| This enables DMA support for the Intel Many Integrated Core | |
| (MIC) family of PCIe form factor coprocessor X100 devices that | |
| run a 64 bit Linux OS. This driver will be used by both MIC | |
| host and card drivers. | |
| If you are building host kernel with a MIC device or a card | |
| kernel for a MIC device, then say M (recommended) or Y, else | |
| say N. If unsure say N. | |
| More information about the Intel MIC family as well as the Linux | |
| OS and tools for MIC to use with this driver are available from | |
| <http://software.intel.com/en-us/mic-developer>. | |
| config K3_DMA | |
| tristate "Hisilicon K3 DMA support" | |
| depends on ARCH_HI3xxx | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support the DMA engine for Hisilicon K3 platform | |
| devices. | |
| config LPC18XX_DMAMUX | |
| bool "NXP LPC18xx/43xx DMA MUX for PL080" | |
| depends on ARCH_LPC18XX || COMPILE_TEST | |
| depends on OF && AMBA_PL08X | |
| select MFD_SYSCON | |
| help | |
| Enable support for DMA on NXP LPC18xx/43xx platforms | |
| with PL080 and multiplexed DMA request lines. | |
| config MMP_PDMA | |
| bool "MMP PDMA support" | |
| depends on (ARCH_MMP || ARCH_PXA) | |
| select DMA_ENGINE | |
| help | |
| Support the MMP PDMA engine for PXA and MMP platform. | |
| config MMP_TDMA | |
| bool "MMP Two-Channel DMA support" | |
| depends on ARCH_MMP | |
| select DMA_ENGINE | |
| select MMP_SRAM | |
| help | |
| Support the MMP Two-Channel DMA engine. | |
| This engine used for MMP Audio DMA and pxa910 SQU. | |
| It needs sram driver under mach-mmp. | |
| config MOXART_DMA | |
| tristate "MOXART DMA support" | |
| depends on ARCH_MOXART | |
| select DMA_ENGINE | |
| select DMA_OF | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Enable support for the MOXA ART SoC DMA controller. | |
| Say Y here if you enabled MMP ADMA, otherwise say N. | |
| config MPC512X_DMA | |
| tristate "Freescale MPC512x built-in DMA engine support" | |
| depends on PPC_MPC512x || PPC_MPC831x | |
| select DMA_ENGINE | |
| ---help--- | |
| Enable support for the Freescale MPC512x built-in DMA engine. | |
| config MV_XOR | |
| bool "Marvell XOR engine support" | |
| depends on PLAT_ORION | |
| select DMA_ENGINE | |
| select DMA_ENGINE_RAID | |
| select ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| ---help--- | |
| Enable support for the Marvell XOR engine. | |
| config MXS_DMA | |
| bool "MXS DMA support" | |
| depends on SOC_IMX23 || SOC_IMX28 || SOC_IMX6Q | |
| select STMP_DEVICE | |
| select DMA_ENGINE | |
| help | |
| Support the MXS DMA engine. This engine including APBH-DMA | |
| and APBX-DMA is integrated into Freescale i.MX23/28/MX6Q/MX6DL chips. | |
| config MX3_IPU | |
| bool "MX3x Image Processing Unit support" | |
| depends on ARCH_MXC | |
| select DMA_ENGINE | |
| default y | |
| help | |
| If you plan to use the Image Processing unit in the i.MX3x, say | |
| Y here. If unsure, select Y. | |
| config MX3_IPU_IRQS | |
| int "Number of dynamically mapped interrupts for IPU" | |
| depends on MX3_IPU | |
| range 2 137 | |
| default 4 | |
| help | |
| Out of 137 interrupt sources on i.MX31 IPU only very few are used. | |
| To avoid bloating the irq_desc[] array we allocate a sufficient | |
| number of IRQ slots and map them dynamically to specific sources. | |
| config NBPFAXI_DMA | |
| tristate "Renesas Type-AXI NBPF DMA support" | |
| select DMA_ENGINE | |
| depends on ARM || COMPILE_TEST | |
| help | |
| Support for "Type-AXI" NBPF DMA IPs from Renesas | |
| config PCH_DMA | |
| tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA" | |
| depends on PCI && (X86_32 || COMPILE_TEST) | |
| select DMA_ENGINE | |
| help | |
| Enable support for Intel EG20T PCH DMA engine. | |
| This driver also can be used for LAPIS Semiconductor IOH(Input/ | |
| Output Hub), ML7213, ML7223 and ML7831. | |
| ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is | |
| for MP(Media Phone) use and ML7831 IOH is for general purpose use. | |
| ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. | |
| ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. | |
| config PL330_DMA | |
| tristate "DMA API Driver for PL330" | |
| select DMA_ENGINE | |
| depends on ARM_AMBA | |
| help | |
| Select if your platform has one or more PL330 DMACs. | |
| You need to provide platform specific settings via | |
| platform_data for a dma-pl330 device. | |
| config PXA_DMA | |
| bool "PXA DMA support" | |
| depends on (ARCH_MMP || ARCH_PXA) | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support the DMA engine for PXA. It is also compatible with MMP PDMA | |
| platform. The internal DMA IP of all PXA variants is supported, with | |
| 16 to 32 channels for peripheral to memory or memory to memory | |
| transfers. | |
| config QCOM_BAM_DMA | |
| tristate "QCOM BAM DMA support" | |
| depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM) | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| ---help--- | |
| Enable support for the QCOM BAM DMA controller. This controller | |
| provides DMA capabilities for a variety of on-chip devices. | |
| config SIRF_DMA | |
| tristate "CSR SiRFprimaII/SiRFmarco DMA support" | |
| depends on ARCH_SIRF | |
| select DMA_ENGINE | |
| help | |
| Enable support for the CSR SiRFprimaII DMA engine. | |
| config STE_DMA40 | |
| bool "ST-Ericsson DMA40 support" | |
| depends on ARCH_U8500 | |
| select DMA_ENGINE | |
| help | |
| Support for ST-Ericsson DMA40 controller | |
| config S3C24XX_DMAC | |
| tristate "Samsung S3C24XX DMA support" | |
| depends on ARCH_S3C24XX | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support for the Samsung S3C24XX DMA controller driver. The | |
| DMA controller is having multiple DMA channels which can be | |
| configured for different peripherals like audio, UART, SPI. | |
| The DMA controller can transfer data from memory to peripheral, | |
| periphal to memory, periphal to periphal and memory to memory. | |
| config TXX9_DMAC | |
| tristate "Toshiba TXx9 SoC DMA support" | |
| depends on MACH_TX49XX || MACH_TX39XX | |
| select DMA_ENGINE | |
| help | |
| Support the TXx9 SoC internal DMA controller. This can be | |
| integrated in chips such as the Toshiba TX4927/38/39. | |
| config TEGRA20_APB_DMA | |
| bool "NVIDIA Tegra20 APB DMA support" | |
| depends on ARCH_TEGRA | |
| select DMA_ENGINE | |
| help | |
| Support for the NVIDIA Tegra20 APB DMA controller driver. The | |
| DMA controller is having multiple DMA channel which can be | |
| configured for different peripherals like audio, UART, SPI, | |
| I2C etc which is in APB bus. | |
| This DMA controller transfers data from memory to peripheral fifo | |
| or vice versa. It does not support memory to memory data transfer. | |
| config TIMB_DMA | |
| tristate "Timberdale FPGA DMA support" | |
| depends on MFD_TIMBERDALE | |
| select DMA_ENGINE | |
| help | |
| Enable support for the Timberdale FPGA DMA engine. | |
| config TI_CPPI41 | |
| tristate "AM33xx CPPI41 DMA support" | |
| depends on ARCH_OMAP | |
| select DMA_ENGINE | |
| help | |
| The Communications Port Programming Interface (CPPI) 4.1 DMA engine | |
| is currently used by the USB driver on AM335x platforms. | |
| config TI_DMA_CROSSBAR | |
| bool | |
| config TI_EDMA | |
| bool "TI EDMA support" | |
| depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| select TI_DMA_CROSSBAR if ARCH_OMAP | |
| default n | |
| help | |
| Enable support for the TI EDMA controller. This DMA | |
| engine is found on TI DaVinci and AM33xx parts. | |
| config XGENE_DMA | |
| tristate "APM X-Gene DMA support" | |
| depends on ARCH_XGENE || COMPILE_TEST | |
| select DMA_ENGINE | |
| select DMA_ENGINE_RAID | |
| select ASYNC_TX_ENABLE_CHANNEL_SWITCH | |
| help | |
| Enable support for the APM X-Gene SoC DMA engine. | |
| config XILINX_VDMA | |
| tristate "Xilinx AXI VDMA Engine" | |
| depends on (ARCH_ZYNQ || MICROBLAZE) | |
| select DMA_ENGINE | |
| help | |
| Enable support for Xilinx AXI VDMA Soft IP. | |
| This engine provides high-bandwidth direct memory access | |
| between memory and AXI4-Stream video type target | |
| peripherals including peripherals which support AXI4- | |
| Stream Video Protocol. It has two stream interfaces/ | |
| channels, Memory Mapped to Stream (MM2S) and Stream to | |
| Memory Mapped (S2MM) for the data transfers. | |
| config ZX_DMA | |
| tristate "ZTE ZX296702 DMA support" | |
| depends on ARCH_ZX | |
| select DMA_ENGINE | |
| select DMA_VIRTUAL_CHANNELS | |
| help | |
| Support the DMA engine for ZTE ZX296702 platform devices. | |
| # driver files | |
| source "drivers/dma/bestcomm/Kconfig" | |
| source "drivers/dma/dw/Kconfig" | |
| source "drivers/dma/hsu/Kconfig" | |
| source "drivers/dma/sh/Kconfig" | |
| # clients | |
| comment "DMA Clients" | |
| depends on DMA_ENGINE | |
| config ASYNC_TX_DMA | |
| bool "Async_tx: Offload support for the async_tx api" | |
| depends on DMA_ENGINE | |
| help | |
| This allows the async_tx api to take advantage of offload engines for | |
| memcpy, memset, xor, and raid6 p+q operations. If your platform has | |
| a dma engine that can perform raid operations and you have enabled | |
| MD_RAID456 say Y. | |
| If unsure, say N. | |
| config DMATEST | |
| tristate "DMA Test client" | |
| depends on DMA_ENGINE | |
| help | |
| Simple DMA test client. Say N unless you're debugging a | |
| DMA Device driver. | |
| config DMA_ENGINE_RAID | |
| bool | |
| endif |