]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
msm: dma: support msm8960 dma
authorJeff Ohlstein <johlstei@codeaurora.org>
Fri, 11 Feb 2011 02:59:23 +0000 (18:59 -0800)
committerDavid Brown <davidb@codeaurora.org>
Fri, 1 Apr 2011 23:38:45 +0000 (16:38 -0700)
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
arch/arm/mach-msm/Makefile
arch/arm/mach-msm/board-msm8960.c
arch/arm/mach-msm/devices-msm8960.c
arch/arm/mach-msm/devices.h
arch/arm/mach-msm/dma.c
arch/arm/mach-msm/include/mach/msm_iomap-8960.h

index 865bff3d9a324df838954d341b297639803c9afa..c72cb8e0e690de2c30845d2d23ab8bbf117dc020 100644 (file)
@@ -10,6 +10,7 @@ obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o
 obj-$(CONFIG_ARCH_MSM7X30) += dma.o
 obj-$(CONFIG_ARCH_QSD8X50) += dma.o sirc.o
 obj-$(CONFIG_ARCH_MSM8X60) += dma.o
+obj-$(CONFIG_ARCH_MSM8960) += dma.o
 
 obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o
 
index 332d587e56a927652213c4f0d6c385230f4d40ca..8294692c27d78877e3a572407c89833628771988 100644 (file)
@@ -70,8 +70,13 @@ static struct platform_device *rumi3_devices[] __initdata = {
        &msm8960_device_uart_gsbi5,
 };
 
+static struct platform_device *devices[] __initdata = {
+       &msm8960_device_dmov,
+};
+
 static void __init msm8960_init(void)
 {
+       platform_add_devices(devices, ARRAY_SIZE(devices));
 }
 
 static void __init msm8960_sim_init(void)
index f9ef5caf0c1685bc0733d46ff1225b7b13a9f1a6..2e17ac6f1f04a3ae3bb4c968164c523e890ec11e 100644 (file)
@@ -21,6 +21,8 @@
 #include <linux/dma-mapping.h>
 #include <mach/irqs-8960.h>
 #include <mach/board.h>
+#include <mach/msm_iomap.h>
+#include <mach/irqs.h>
 
 #include "devices.h"
 #include "clock.h"
@@ -85,6 +87,25 @@ struct platform_device msm8960_device_uart_gsbi5 = {
        .resource       = resources_uart_gsbi5,
 };
 
+static struct resource resources_dmov[] = {
+       {
+               .start = MSM8960_DMOV_PHYS,
+               .end = MSM8960_DMOV_PHYS + MSM8960_DMOV_SIZE - 1,
+               .flags = IORESOURCE_MEM,
+       },
+       {
+               .start = INT_ADM0_SCSS_0_IRQ,
+               .flags = IORESOURCE_IRQ,
+       },
+};
+
+struct platform_device msm8960_device_dmov = {
+       .name   = "msm_dmov",
+       .id     = -1,
+       .num_resources = ARRAY_SIZE(resources_dmov),
+       .resource = resources_dmov,
+};
+
 struct clk_lookup msm_clocks_8960[] = {
        CLK_DUMMY("gsbi_uart_clk",      GSBI1_UART_CLK,         NULL),
        CLK_DUMMY("gsbi_uart_clk",      GSBI2_UART_CLK,         NULL),
index 0abf25faaf0381c5db3523bf445bbabbd1ccd894..e38fc8610f39a5812c67adb2578cc10e91413f6d 100644 (file)
@@ -41,6 +41,7 @@ extern struct platform_device msm_device_i2c;
 extern struct platform_device msm_device_smd;
 
 extern struct platform_device msm_device_dmov;
+extern struct platform_device msm8960_device_dmov;
 extern struct platform_device msm_device_dmov_adm0;
 extern struct platform_device msm_device_dmov_adm1;
 
index 44d96215e6a6ac1bd202e2f723c39edc79d9e9a1..16b40344d98c77e6d9406dcdab51c7164ad9857e 100644 (file)
@@ -57,6 +57,9 @@ static int nr_adms;
 #elif defined(CONFIG_ARCH_MSM8X60)
 #define DMOV_SD_AARM DMOV_SD1
 #define DMOV_SD_SIZE 0x800
+#elif defined(CONFIG_ARCH_MSM8960)
+#define DMOV_SD_AARM DMOV_SD0
+#define DMOV_SD_SIZE 0x800
 #else
 #define DMOV_SD_AARM DMOV_SD3
 #define DMOV_SD_SIZE 0x400
index 3c9d9602a318b935ebb5e5a940df12fba6fdbeb6..b251ba63b3e23123957f28715c4ec897164836ce 100644 (file)
@@ -45,4 +45,7 @@
 #define MSM8960_TMR0_PHYS      0x0208A000
 #define MSM8960_TMR0_SIZE      SZ_4K
 
+#define MSM8960_DMOV_PHYS      0x18300000
+#define MSM8960_DMOV_SIZE      SZ_1M
+
 #endif