diff options
author | Viresh Kumar <viresh.kumar@st.com> | 2012-03-26 00:59:23 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-04-22 16:41:35 -0400 |
commit | 0b7ee71794b043de8a02d8887b69a57e4003106a (patch) | |
tree | fb4386d24146993d3c1400abbc6974c27c16722d /arch/arm/mach-spear3xx/spear3xx.c | |
parent | c5fa4fdcdbe5f52c3e36892cc81f9378339b00ce (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.c | 19 |
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 */ | ||
471 | struct 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 |