aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-spear3xx/spear3xx.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@st.com>2012-03-26 00:59:23 -0400
committerArnd Bergmann <arnd@arndb.de>2012-04-22 16:41:35 -0400
commit0b7ee71794b043de8a02d8887b69a57e4003106a (patch)
treefb4386d24146993d3c1400abbc6974c27c16722d /arch/arm/mach-spear3xx/spear3xx.c
parentc5fa4fdcdbe5f52c3e36892cc81f9378339b00ce (diff)
SPEAr: Add PL080 DMA support for 3xx and 6xx
Both SPEAr3xx and SPEAr6xx families have one instance of ARM PL080 DMA controller. This patch adds in support for that. Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Diffstat (limited to 'arch/arm/mach-spear3xx/spear3xx.c')
-rw-r--r--arch/arm/mach-spear3xx/spear3xx.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-spear3xx/spear3xx.c b/arch/arm/mach-spear3xx/spear3xx.c
index a94d8c12ed99..17d4ac9a95e1 100644
--- a/arch/arm/mach-spear3xx/spear3xx.c
+++ b/arch/arm/mach-spear3xx/spear3xx.c
@@ -17,7 +17,9 @@
17#include <linux/amba/pl08x.h> 17#include <linux/amba/pl08x.h>
18#include <linux/of_irq.h> 18#include <linux/of_irq.h>
19#include <linux/io.h> 19#include <linux/io.h>
20#include <asm/hardware/pl080.h>
20#include <asm/hardware/vic.h> 21#include <asm/hardware/vic.h>
22#include <plat/pl080.h>
21#include <mach/generic.h> 23#include <mach/generic.h>
22#include <mach/hardware.h> 24#include <mach/hardware.h>
23 25
@@ -465,6 +467,23 @@ struct pl022_ssp_controller pl022_plat_data = {
465 .num_chipselect = 2, 467 .num_chipselect = 2,
466}; 468};
467 469
470/* dmac device registration */
471struct pl08x_platform_data pl080_plat_data = {
472 .memcpy_channel = {
473 .bus_id = "memcpy",
474 .cctl = (PL080_BSIZE_16 << PL080_CONTROL_SB_SIZE_SHIFT | \
475 PL080_BSIZE_16 << PL080_CONTROL_DB_SIZE_SHIFT | \
476 PL080_WIDTH_32BIT << PL080_CONTROL_SWIDTH_SHIFT | \
477 PL080_WIDTH_32BIT << PL080_CONTROL_DWIDTH_SHIFT | \
478 PL080_CONTROL_PROT_BUFF | PL080_CONTROL_PROT_CACHE | \
479 PL080_CONTROL_PROT_SYS),
480 },
481 .lli_buses = PL08X_AHB1,
482 .mem_buses = PL08X_AHB1,
483 .get_signal = pl080_get_signal,
484 .put_signal = pl080_put_signal,
485};
486
468/* 487/*
469 * Following will create 16MB static virtual/physical mappings 488 * Following will create 16MB static virtual/physical mappings
470 * PHYSICAL VIRTUAL 489 * PHYSICAL VIRTUAL