]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
dmaengine: add driver for Samsung s3c24xx SoCs
authorHeiko Stuebner <heiko@sntech.de>
Mon, 7 Oct 2013 21:42:10 +0000 (06:42 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Mon, 7 Oct 2013 21:42:10 +0000 (06:42 +0900)
commitddeccb8d6b5bbe2c1e3a29f8c74b52f170c2207d
tree808f494a72787c87c2504f6b93c8cd165489bda2
parent0fa93b914d45ed8dd248bd621d4396e9f790817c
dmaengine: add driver for Samsung s3c24xx SoCs

This adds a new driver to support the s3c24xx dma using the dmaengine
and makes the old one in mach-s3c24xx obsolete in the long run.

Conceptually the s3c24xx-dma feels like a distant relative of the pl08x
with numerous virtual channels being mapped to a lot less physical ones.
The driver therefore borrows a lot from the amba-pl08x driver in this
regard. Functionality-wise the driver gains a memcpy ability in addition
to the slave_sg one.

The driver supports both the method for requesting the peripheral used
by SoCs before the S3C2443 and the different method for S3C2443 and later.

On earlier SoCs the hardware channels usable for specific peripherals is
constrainted while on later SoCs all channels can be used for any peripheral.

Tested on a s3c2416-based board, memcpy using the dmatest module and
slave_sg partially using the spi-s3c64xx driver.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/s3c24xx-dma.c [new file with mode: 0644]
include/linux/platform_data/dma-s3c24xx.h [new file with mode: 0644]