diff options
author | Boojin Kim <boojin.kim@samsung.com> | 2012-02-14 23:15:12 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-03-11 01:51:07 -0500 |
commit | 9ed76e0336988ecc9e7234e0bd49be4fd98f6c35 (patch) | |
tree | 6556d1e1765e7cd4886dc66ba0f2fa50d2332225 /arch/arm/mach-exynos/dma.c | |
parent | 44b2cef5ae6da48523fa634230ca66107110a7dd (diff) |
ARM: EXYNOS: Enable MDMA driver
This patch adds MDMA platform data and enables
MDMA for DMA memcpy operation for EXYNOS SoCs.
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos/dma.c')
-rw-r--r-- | arch/arm/mach-exynos/dma.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/dma.c b/arch/arm/mach-exynos/dma.c index 25f3ef2c36e5..17a2f9086310 100644 --- a/arch/arm/mach-exynos/dma.c +++ b/arch/arm/mach-exynos/dma.c | |||
@@ -113,6 +113,25 @@ static struct dma_pl330_platdata exynos4_pdma1_pdata = { | |||
113 | static AMBA_AHB_DEVICE(exynos4_pdma1, "dma-pl330.1", 0x00041330, | 113 | static AMBA_AHB_DEVICE(exynos4_pdma1, "dma-pl330.1", 0x00041330, |
114 | EXYNOS4_PA_PDMA1, {IRQ_PDMA1}, &exynos4_pdma1_pdata); | 114 | EXYNOS4_PA_PDMA1, {IRQ_PDMA1}, &exynos4_pdma1_pdata); |
115 | 115 | ||
116 | static u8 mdma_peri[] = { | ||
117 | DMACH_MTOM_0, | ||
118 | DMACH_MTOM_1, | ||
119 | DMACH_MTOM_2, | ||
120 | DMACH_MTOM_3, | ||
121 | DMACH_MTOM_4, | ||
122 | DMACH_MTOM_5, | ||
123 | DMACH_MTOM_6, | ||
124 | DMACH_MTOM_7, | ||
125 | }; | ||
126 | |||
127 | static struct dma_pl330_platdata exynos4_mdma1_pdata = { | ||
128 | .nr_valid_peri = ARRAY_SIZE(mdma_peri), | ||
129 | .peri_id = mdma_peri, | ||
130 | }; | ||
131 | |||
132 | static AMBA_AHB_DEVICE(exynos4_mdma1, "dma-pl330.2", 0x00041330, | ||
133 | EXYNOS4_PA_MDMA1, {IRQ_MDMA1}, &exynos4_mdma1_pdata); | ||
134 | |||
116 | static int __init exynos4_dma_init(void) | 135 | static int __init exynos4_dma_init(void) |
117 | { | 136 | { |
118 | if (of_have_populated_dt()) | 137 | if (of_have_populated_dt()) |
@@ -126,6 +145,9 @@ static int __init exynos4_dma_init(void) | |||
126 | dma_cap_set(DMA_CYCLIC, exynos4_pdma1_pdata.cap_mask); | 145 | dma_cap_set(DMA_CYCLIC, exynos4_pdma1_pdata.cap_mask); |
127 | amba_device_register(&exynos4_pdma1_device, &iomem_resource); | 146 | amba_device_register(&exynos4_pdma1_device, &iomem_resource); |
128 | 147 | ||
148 | dma_cap_set(DMA_MEMCPY, exynos4_mdma1_pdata.cap_mask); | ||
149 | amba_device_register(&exynos4_mdma1_device, &iomem_resource); | ||
150 | |||
129 | return 0; | 151 | return 0; |
130 | } | 152 | } |
131 | arch_initcall(exynos4_dma_init); | 153 | arch_initcall(exynos4_dma_init); |