diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2010-09-30 13:56:34 +0000 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2010-10-05 15:49:26 -0700 |
commit | 1ec1e82f2510e2bdcb6268ed74aa79e1a7bc9594 (patch) | |
tree | f274f0b9ff704416492fe420174e65b9b640eff2 /drivers/dma/Kconfig | |
parent | 6e3ecaf0ad49de0bed829d409a164e7107c02993 (diff) | |
download | linux-1ec1e82f2510e2bdcb6268ed74aa79e1a7bc9594.tar.gz linux-1ec1e82f2510e2bdcb6268ed74aa79e1a7bc9594.tar.xz |
dmaengine: Add Freescale i.MX SDMA support
This patch adds support for the Freescale i.MX SDMA engine.
The SDMA engine is a scatter/gather DMA engine which is implemented
as a seperate coprocessor. SDMA needs its own firmware which is
requested using the standard request_firmware mechanism. The firmware
has different entry points for each peripheral type, so drivers
have to pass the peripheral type to the DMA engine which in turn
picks the correct firmware entry point from a table contained in
the firmware image itself.
The original Freescale code also supports support for transfering
data to the internal SRAM which needs different entry points to
the firmware. Support for this is currently not implemented. Also,
support for the ASRC (asymmetric sample rate converter) is skipped.
I took a very simple approach to implement dmaengine support. Only
a single descriptor is statically assigned to a each channel. This
means that transfers can't be queued up but only a single transfer
is in progress. This simplifies implementation a lot and is sufficient
for the usual device/memory transfers.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Linus Walleij <linus.ml.walleij@gmail.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/Kconfig')
-rw-r--r-- | drivers/dma/Kconfig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 9520cf02edc8..3cf1d123f2d3 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -195,6 +195,14 @@ config PCH_DMA help Enable support for the Topcliff PCH DMA engine. +config IMX_SDMA + tristate "i.MX SDMA support" + depends on ARCH_MX25 || ARCH_MX3 || ARCH_MX5 + select DMA_ENGINE + help + Support the i.MX SDMA engine. This engine is integrated into + Freescale i.MX25/31/35/51 chips. + config DMA_ENGINE bool |