aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolin Chen <nicoleotsuka@gmail.com>2014-06-15 23:31:05 -0400
committerVinod Koul <vinod.koul@intel.com>2014-07-25 04:40:36 -0400
commitf892afb07eeecf575179c4747952644a82a92a36 (patch)
tree3a46d39ee7fb7b6c7bc832369fea82433134be01
parent0b3518652c596b00c1592b5adb2544db75b5ef57 (diff)
dmaengine: imx-sdma: Add a new DMATYPE for Shared Peripheral ASRC
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>
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt1
-rw-r--r--drivers/dma/imx-sdma.c5
-rw-r--r--include/linux/platform_data/dma-imx.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index e577196a12c0..4659fd952301 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -47,6 +47,7 @@ The full ID of peripheral types can be found below.
47 20 ASRC 47 20 ASRC
48 21 ESAI 48 21 ESAI
49 22 SSI Dual FIFO (needs firmware ver >= 2) 49 22 SSI Dual FIFO (needs firmware ver >= 2)
50 23 Shared ASRC
50 51
51The third cell specifies the transfer priority as below. 52The third cell specifies the transfer priority as below.
52 53
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 8269c200b53b..de584e605db5 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -750,6 +750,11 @@ static void sdma_get_pc(struct sdma_channel *sdmac,
750 emi_2_per = sdma->script_addrs->asrc_2_mcu_addr; 750 emi_2_per = sdma->script_addrs->asrc_2_mcu_addr;
751 per_2_per = sdma->script_addrs->per_2_per_addr; 751 per_2_per = sdma->script_addrs->per_2_per_addr;
752 break; 752 break;
753 case IMX_DMATYPE_ASRC_SP:
754 per_2_emi = sdma->script_addrs->shp_2_mcu_addr;
755 emi_2_per = sdma->script_addrs->mcu_2_shp_addr;
756 per_2_per = sdma->script_addrs->per_2_per_addr;
757 break;
753 case IMX_DMATYPE_MSHC: 758 case IMX_DMATYPE_MSHC:
754 per_2_emi = sdma->script_addrs->mshc_2_mcu_addr; 759 per_2_emi = sdma->script_addrs->mshc_2_mcu_addr;
755 emi_2_per = sdma->script_addrs->mcu_2_mshc_addr; 760 emi_2_per = sdma->script_addrs->mcu_2_mshc_addr;
diff --git a/include/linux/platform_data/dma-imx.h b/include/linux/platform_data/dma-imx.h
index bcbc6c3c14c0..7aa0e89d1bcc 100644
--- a/include/linux/platform_data/dma-imx.h
+++ b/include/linux/platform_data/dma-imx.h
@@ -40,6 +40,7 @@ enum sdma_peripheral_type {
40 IMX_DMATYPE_ASRC, /* ASRC */ 40 IMX_DMATYPE_ASRC, /* ASRC */
41 IMX_DMATYPE_ESAI, /* ESAI */ 41 IMX_DMATYPE_ESAI, /* ESAI */
42 IMX_DMATYPE_SSI_DUAL, /* SSI Dual FIFO */ 42 IMX_DMATYPE_SSI_DUAL, /* SSI Dual FIFO */
43 IMX_DMATYPE_ASRC_SP, /* Shared ASRC */
43}; 44};
44 45
45enum imx_dma_prio { 46enum imx_dma_prio {