dmaengine: imx-sdma: Add a new DMATYPE for Shared Peripheral ASRC
authorNicolin Chen <nicoleotsuka@gmail.com>
Mon, 16 Jun 2014 03:31:05 +0000 (11:31 +0800)
committerVinod Koul <vinod.koul@intel.com>
Fri, 25 Jul 2014 08:40:36 +0000 (14:10 +0530)
Shared Peripheral ASRC, running on SPBA, needs to use shp sciprts for
DMA transfer. So this patch just adds a new DMATYPE for it.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
drivers/dma/imx-sdma.c
include/linux/platform_data/dma-imx.h

index e577196a12c0577821e68b4aa2fa6d0d9ef6bde3..4659fd952301b1b9967e74afb7cbbda5a62ee46c 100644 (file)
@@ -47,6 +47,7 @@ The full ID of peripheral types can be found below.
        20      ASRC
        21      ESAI
        22      SSI Dual FIFO   (needs firmware ver >= 2)
+       23      Shared ASRC
 
 The third cell specifies the transfer priority as below.
 
index 8269c200b53b49360c2ae29dfb9387436b2dc87b..de584e605db536c3191ea4c2e4f25862f3162ee4 100644 (file)
@@ -750,6 +750,11 @@ static void sdma_get_pc(struct sdma_channel *sdmac,
                emi_2_per = sdma->script_addrs->asrc_2_mcu_addr;
                per_2_per = sdma->script_addrs->per_2_per_addr;
                break;
+       case IMX_DMATYPE_ASRC_SP:
+               per_2_emi = sdma->script_addrs->shp_2_mcu_addr;
+               emi_2_per = sdma->script_addrs->mcu_2_shp_addr;
+               per_2_per = sdma->script_addrs->per_2_per_addr;
+               break;
        case IMX_DMATYPE_MSHC:
                per_2_emi = sdma->script_addrs->mshc_2_mcu_addr;
                emi_2_per = sdma->script_addrs->mcu_2_mshc_addr;
index bcbc6c3c14c0da82547b861e7108ccee41351f71..7aa0e89d1bcc71bb4cb2f26817a317398d242660 100644 (file)
@@ -40,6 +40,7 @@ enum sdma_peripheral_type {
        IMX_DMATYPE_ASRC,       /* ASRC */
        IMX_DMATYPE_ESAI,       /* ESAI */
        IMX_DMATYPE_SSI_DUAL,   /* SSI Dual FIFO */
+       IMX_DMATYPE_ASRC_SP,    /* Shared ASRC */
 };
 
 enum imx_dma_prio {