dmaengine: sun6i: Add driver for the Allwinner A31 DMA controller
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>
This commit is contained in:
parent
3c677cc460
commit
5558593087
3 changed files with 1068 additions and 0 deletions
|
@ -375,6 +375,14 @@ config XILINX_VDMA
|
||||||
channels, Memory Mapped to Stream (MM2S) and Stream to
|
channels, Memory Mapped to Stream (MM2S) and Stream to
|
||||||
Memory Mapped (S2MM) for the data transfers.
|
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
|
config DMA_ENGINE
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
|
|
@ -47,3 +47,4 @@ obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
|
||||||
obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
|
obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
|
||||||
obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
|
obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
|
||||||
obj-y += xilinx/
|
obj-y += xilinx/
|
||||||
|
obj-$(CONFIG_DMA_SUN6I) += sun6i-dma.o
|
||||||
|
|
1059
drivers/dma/sun6i-dma.c
Normal file
1059
drivers/dma/sun6i-dma.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue