diff mbox

dma: imx-sdma: Add a new DMATYPE for Shared Peripheral ASRC

Message ID 1402889465-23797-1-git-send-email-nicoleotsuka@gmail.com
State Accepted, archived
Commit f892afb07eeecf575179c4747952644a82a92a36
Headers show

Commit Message

Nicolin Chen June 16, 2014, 3:31 a.m. UTC
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>
---
 Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | 1 +
 drivers/dma/imx-sdma.c                                 | 5 +++++
 include/linux/platform_data/dma-imx.h                  | 1 +
 3 files changed, 7 insertions(+)

Comments

Shawn Guo June 21, 2014, 4:44 a.m. UTC | #1
On Mon, Jun 16, 2014 at 11:31:05AM +0800, Nicolin Chen wrote:
> 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>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vinod Koul July 25, 2014, 8:39 a.m. UTC | #2
On Mon, Jun 16, 2014 at 11:31:05AM +0800, Nicolin Chen wrote:
> Shared Peripheral ASRC, running on SPBA, needs to use shp sciprts for
> DMA transfer. So this patch just adds a new DMATYPE for it.

Applied, thanks
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index ee9be99..d2e91f1 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.
 	20	ASRC
 	21	ESAI
 	22	SSI Dual FIFO	(needs firmware ver >= 2)
+	23	Shared ASRC
 
 The third cell specifies the transfer priority as below.
 
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index fc04add..85561dc 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -745,6 +745,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;
diff --git a/include/linux/platform_data/dma-imx.h b/include/linux/platform_data/dma-imx.h
index bcbc6c3..7aa0e89 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 {
 	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 {