dmaengine: sun6i: Add driver for the Allwinner A31 DMA controller
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 17 Jul 2014 19:46:16 +0000 (21:46 +0200)
committerVinod Koul <vinod.koul@intel.com>
Fri, 25 Jul 2014 12:44:58 +0000 (18:14 +0530)
The Allwinner A31 has a 16 channels DMA controller that it shares with the
newer A23. Although sharing some similarities with the DMA controller of the
older Allwinner SoCs, it's significantly different, I don't expect it to be
possible to share the driver for these two.

The A31 Controller is able to memory-to-memory or memory-to-device transfers on
the 16 channels in parallel.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/sun6i-dma.c [new file with mode: 0644]

index 1eca7b9..4b43927 100644 (file)
@@ -375,6 +375,14 @@ config XILINX_VDMA
          channels, Memory Mapped to Stream (MM2S) and Stream to
          Memory Mapped (S2MM) for the data transfers.
 
+config DMA_SUN6I
+       tristate "Allwinner A31 SoCs DMA support"
+       depends on MACH_SUN6I || COMPILE_TEST
+       select DMA_ENGINE
+       select DMA_VIRTUAL_CHANNELS
+       help
+         Support for the DMA engine for Allwinner A31 SoCs.
+
 config DMA_ENGINE
        bool
 
index aca5eb5..d08bd96 100644 (file)
@@ -47,3 +47,4 @@ obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
 obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
 obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
 obj-y += xilinx/
+obj-$(CONFIG_DMA_SUN6I) += sun6i-dma.o
Simple merge