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 e577196..4659fd9 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 8269c20..de584e6 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 bcbc6c3..7aa0e89 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 {