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,