msm: 8064: add support for DMOV in 8064 baseport.

Added io mapping for dmov device.
Added the platform device for dmov. The device is using security
domain 0 for now until TZ comes in, at which point this would
be moved to security domain 1.

Signed-off-by: Joel King <joelking@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-apq8064.c b/arch/arm/mach-msm/board-apq8064.c
index 4a21203..f0b246a 100644
--- a/arch/arm/mach-msm/board-apq8064.c
+++ b/arch/arm/mach-msm/board-apq8064.c
@@ -55,6 +55,7 @@
 }
 
 static struct platform_device *common_devices[] __initdata = {
+	&msm_device_dmov,
 	&apq8064_device_uart_gsbi3
 };
 
diff --git a/arch/arm/mach-msm/devices-8064.c b/arch/arm/mach-msm/devices-8064.c
index 3c4fe1b..d368e2c 100644
--- a/arch/arm/mach-msm/devices-8064.c
+++ b/arch/arm/mach-msm/devices-8064.c
@@ -26,6 +26,21 @@
 #define MSM_GSBI3_PHYS		0x16200000
 #define MSM_UART3DM_PHYS	(MSM_GSBI3_PHYS + 0x40000)
 
+static struct resource msm_dmov_resource[] = {
+	{
+		.start = ADM_0_SCSS_0_IRQ,
+		.end = (resource_size_t)MSM_DMOV_BASE,
+		.flags = IORESOURCE_IRQ,
+	},
+};
+
+struct platform_device msm_device_dmov = {
+	.name	= "msm_dmov",
+	.id	= -1,
+	.resource = msm_dmov_resource,
+	.num_resources = ARRAY_SIZE(msm_dmov_resource),
+};
+
 static struct resource resources_uart_gsbi3[] = {
 	{
 		.start	= GSBI3_UARTDM_IRQ,
diff --git a/arch/arm/mach-msm/include/mach/dma.h b/arch/arm/mach-msm/include/mach/dma.h
index de4d85a..ea299b1 100644
--- a/arch/arm/mach-msm/include/mach/dma.h
+++ b/arch/arm/mach-msm/include/mach/dma.h
@@ -60,6 +60,9 @@
 #elif defined(CONFIG_ARCH_MSM8960)
 #define DMOV_SD_SIZE 0x800
 #define DMOV_SD_AARM 1
+#elif defined(CONFIG_ARCH_APQ8064)
+#define DMOV_SD_SIZE 0x800
+#define DMOV_SD_AARM 0
 #elif defined(CONFIG_MSM_ADM3)
 #define DMOV_SD_SIZE 0x800
 #define DMOV_SD_MASTER 1
diff --git a/arch/arm/mach-msm/include/mach/msm_iomap-8064.h b/arch/arm/mach-msm/include/mach/msm_iomap-8064.h
index 0e6eec0..abb590b 100644
--- a/arch/arm/mach-msm/include/mach/msm_iomap-8064.h
+++ b/arch/arm/mach-msm/include/mach/msm_iomap-8064.h
@@ -44,4 +44,7 @@
 #define APQ8064_QGIC_CPU_PHYS		0x02002000
 #define APQ8064_QGIC_CPU_SIZE		SZ_4K
 
+#define APQ8064_DMOV_PHYS		0x18300000
+#define APQ8064_DMOV_SIZE		SZ_1M
+
 #endif
diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c
index 546f3a0..a4d3bf1 100644
--- a/arch/arm/mach-msm/io.c
+++ b/arch/arm/mach-msm/io.c
@@ -219,6 +219,7 @@
 	MSM_CHIP_DEVICE(QGIC_CPU, APQ8064),
 	MSM_CHIP_DEVICE(TMR, APQ8064),
 	MSM_CHIP_DEVICE(TMR0, APQ8064),
+	MSM_CHIP_DEVICE(DMOV, APQ8064),
 	{
 		.virtual =  (unsigned long) MSM_SHARED_RAM_BASE,
 		.length =   MSM_SHARED_RAM_SIZE,