dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 20 Aug 2015 15:39:13 +0000 (17:39 +0200)
committerVinod Koul <vinod.koul@intel.com>
Sun, 23 Aug 2015 13:25:10 +0000 (18:55 +0530)
commit0e3b67b348b838d519b5d9ff30261f471d6371f2
tree4a3cf9d2d5f3fc5920e11918c5b163f4cadb3de5
parent43bcad2bb485f053661e5cfe306c34178c6651c7
dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller

Add support for the Analog Devices AXI-DMAC DMA controller. This controller
is a soft peripheral that can be instantiated in a FPGA and is often used
in Analog Devices' reference designs for FPGA platforms.

The peripheral has various configuration options that can be selected at
synthesis time and influence the supported features of the instantiated
peripheral, those options are represented as device-tree properties to
allow the driver to behave accordingly.

The peripheral has a zero latency architecture, which means it is possible
to switch from one to the next descriptor without any delay. This is
archived by having a internal queue which can hold multiple descriptors.
The driver supports this, which means it will submit new descriptors
directly to the hardware until the queue is full and not wait for a
descriptor to complete before the next one is submitted. Interrupts are
used for the descriptor queue flow control.

Currently the driver supports SG, cyclic and interleaved slave DMA.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
MAINTAINERS
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/dma-axi-dmac.c [new file with mode: 0644]