msm: smd: add support for 9615
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
Conflicts:
arch/arm/mach-msm/board-9615.c
arch/arm/mach-msm/devices-9615.c
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 3612df7..083ba3e 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -940,7 +940,7 @@
via muxing than BAM could without muxing.
config MSM_N_WAY_SMD
- depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM8960 || ARCH_MSM7X27 || ARCH_MSM7X25))
+ depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM8960 || ARCH_MSM7X27 || ARCH_MSM7X25 || ARCH_MSM9615))
default y
bool "MSM N-WAY SMD support"
help
@@ -948,7 +948,7 @@
normal APPS-MODEM SMD communication.
config MSM_N_WAY_SMSM
- depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM8960 || ARCH_MSM7X27 || ARCH_MSM7X25))
+ depends on (MSM_SMD && (ARCH_MSM_SCORPION || ARCH_MSM8960 || ARCH_MSM7X27 || ARCH_MSM7X25 || ARCH_MSM9615))
default y
bool "MSM N-WAY SMSM support"
help
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index 22d640a..db154de 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -73,6 +73,7 @@
obj-$(CONFIG_MSM_SMD_LOGGING) += smem_log.o
obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o remote_spinlock.o
obj-y += socinfo.o
+ifndef CONFIG_ARCH_MSM9615
ifndef CONFIG_ARCH_MSM8960
ifndef CONFIG_ARCH_MSM8X60
obj-$(CONFIG_MSM_SMD) += pmic.o
@@ -82,6 +83,7 @@
obj-$(CONFIG_MSM_ONCRPCROUTER) += rpc_hsusb.o rpc_pmapp.o rpc_fsusb.o
endif
endif
+endif
obj-$(CONFIG_MSM_SDIO_TTY) += sdio_tty.o sdio_tty_ciq.o
obj-$(CONFIG_MSM_SMD_TTY) += smd_tty.o
obj-$(CONFIG_MSM_SMD_QMI) += smd_qmi.o
diff --git a/arch/arm/mach-msm/board-9615.c b/arch/arm/mach-msm/board-9615.c
index 1901c03..230c887 100644
--- a/arch/arm/mach-msm/board-9615.c
+++ b/arch/arm/mach-msm/board-9615.c
@@ -27,6 +27,7 @@
static struct platform_device *common_devices[] = {
&msm9615_device_dmov,
+ &msm_device_smd,
&msm9615_device_uart_gsbi4,
&msm9615_device_ssbi_pmic1,
&msm9615_device_qup_i2c_gsbi5,
diff --git a/arch/arm/mach-msm/devices-9615.c b/arch/arm/mach-msm/devices-9615.c
index 5805ecd..c389819 100644
--- a/arch/arm/mach-msm/devices-9615.c
+++ b/arch/arm/mach-msm/devices-9615.c
@@ -247,6 +247,11 @@
},
};
+struct platform_device msm_device_smd = {
+ .name = "msm_smd",
+ .id = -1,
+};
+
#ifdef CONFIG_CACHE_L2X0
static int __init l2x0_cache_init(void)
{
@@ -278,8 +283,10 @@
acpuclk_init(&acpuclk_9615_soc_data);
}
+#define MSM_SHARED_RAM_PHYS 0x40000000
void __init msm9615_map_io(void)
{
+ msm_shared_ram_phys = MSM_SHARED_RAM_PHYS;
msm_map_msm9615_io();
l2x0_cache_init();
}
diff --git a/arch/arm/mach-msm/include/mach/irqs-9615.h b/arch/arm/mach-msm/include/mach/irqs-9615.h
index 8972148..8b62632 100644
--- a/arch/arm/mach-msm/include/mach/irqs-9615.h
+++ b/arch/arm/mach-msm/include/mach/irqs-9615.h
@@ -73,16 +73,16 @@
#define SLIMBUS0_BAM_EE1_IRQ (GIC_SPI_START + 34)
#define Q6FW_WDOG_EXPIRED (GIC_SPI_START + 35)
#define Q6SW_WDOG_EXPIRED (GIC_SPI_START + 36)
-#define GSS_TO_APPS_IRQ_0 (GIC_SPI_START + 37)
-#define GSS_TO_APPS_IRQ_1 (GIC_SPI_START + 38)
-#define GSS_TO_APPS_IRQ_2 (GIC_SPI_START + 39)
-#define GSS_TO_APPS_IRQ_3 (GIC_SPI_START + 40)
-#define GSS_TO_APPS_IRQ_4 (GIC_SPI_START + 41)
-#define GSS_TO_APPS_IRQ_5 (GIC_SPI_START + 42)
-#define GSS_TO_APPS_IRQ_6 (GIC_SPI_START + 43)
-#define GSS_TO_APPS_IRQ_7 (GIC_SPI_START + 44)
-#define GSS_TO_APPS_IRQ_8 (GIC_SPI_START + 45)
-#define GSS_TO_APPS_IRQ_9 (GIC_SPI_START + 46)
+#define MSS_TO_APPS_IRQ_0 (GIC_SPI_START + 37)
+#define MSS_TO_APPS_IRQ_1 (GIC_SPI_START + 38)
+#define MSS_TO_APPS_IRQ_2 (GIC_SPI_START + 39)
+#define MSS_TO_APPS_IRQ_3 (GIC_SPI_START + 40)
+#define MSS_TO_APPS_IRQ_4 (GIC_SPI_START + 41)
+#define MSS_TO_APPS_IRQ_5 (GIC_SPI_START + 42)
+#define MSS_TO_APPS_IRQ_6 (GIC_SPI_START + 43)
+#define MSS_TO_APPS_IRQ_7 (GIC_SPI_START + 44)
+#define MSS_TO_APPS_IRQ_8 (GIC_SPI_START + 45)
+#define MSS_TO_APPS_IRQ_9 (GIC_SPI_START + 46)
/* 47-84 Reserved */
#define LPASS_SCSS_AUDIO_IF_OUT0_IRQ (GIC_SPI_START + 85)
#define LPASS_SCSS_MIDI_IRQ (GIC_SPI_START + 86)
@@ -195,8 +195,5 @@
#define INT_A9_M2A_5 MSS_TO_APPS_IRQ_1
#define INT_ADSP_A11 LPASS_SCSS_GP_HIGH_IRQ
#define INT_ADSP_A11_SMSM LPASS_SCSS_GP_MEDIUM_IRQ
-#define INT_DSPS_A11 SPS_MTI_31
-#define INT_WCNSS_A11 RIVA_APSS_SPARE_IRQ
-#define INT_WCNSS_A11_SMSM RIVA_APPS_WLAN_SMSM_IRQ
#endif
diff --git a/arch/arm/mach-msm/include/mach/msm_iomap.h b/arch/arm/mach-msm/include/mach/msm_iomap.h
index 2ba3f9c..df19606 100644
--- a/arch/arm/mach-msm/include/mach/msm_iomap.h
+++ b/arch/arm/mach-msm/include/mach/msm_iomap.h
@@ -76,7 +76,11 @@
#define MSM_L2CC_BASE IOMEM(0xFA701000) /* 4K */
#define MSM_APCS_GLB_BASE IOMEM(0xFA702000) /* 4K */
+#if defined(CONFIG_ARCH_MSM9615)
+#define MSM_SHARED_RAM_SIZE SZ_1M
+#else
#define MSM_SHARED_RAM_SIZE SZ_2M
+#endif
#include "msm_iomap-8960.h"
#include "msm_iomap-8064.h"
diff --git a/arch/arm/mach-msm/smd.c b/arch/arm/mach-msm/smd.c
index 1b68560..3db19b6 100644
--- a/arch/arm/mach-msm/smd.c
+++ b/arch/arm/mach-msm/smd.c
@@ -42,7 +42,8 @@
#include "modem_notifier.h"
#if defined(CONFIG_ARCH_QSD8X50) || defined(CONFIG_ARCH_MSM8X60) \
- || defined(CONFIG_ARCH_MSM8960) || defined(CONFIG_ARCH_FSM9XXX)
+ || defined(CONFIG_ARCH_MSM8960) || defined(CONFIG_ARCH_FSM9XXX) \
+ || defined(CONFIG_ARCH_MSM9615)
#define CONFIG_QDSP6 1
#endif
@@ -186,6 +187,19 @@
(smd_write_intr(1 << 25, MSM_APCS_GCC_BASE + 0x8))
#define MSM_TRIG_A2WCNSS_SMSM_INT \
(smd_write_intr(1 << 23, MSM_APCS_GCC_BASE + 0x8))
+#elif defined(CONFIG_ARCH_MSM9615)
+#define MSM_TRIG_A2M_SMD_INT \
+ (smd_write_intr(1 << 3, MSM_APCS_GCC_BASE + 0x8))
+#define MSM_TRIG_A2Q6_SMD_INT \
+ (smd_write_intr(1 << 15, MSM_APCS_GCC_BASE + 0x8))
+#define MSM_TRIG_A2M_SMSM_INT \
+ (smd_write_intr(1 << 4, MSM_APCS_GCC_BASE + 0x8))
+#define MSM_TRIG_A2Q6_SMSM_INT \
+ (smd_write_intr(1 << 14, MSM_APCS_GCC_BASE + 0x8))
+#define MSM_TRIG_A2DSPS_SMD_INT
+#define MSM_TRIG_A2DSPS_SMSM_INT
+#define MSM_TRIG_A2WCNSS_SMD_INT
+#define MSM_TRIG_A2WCNSS_SMSM_INT
#elif defined(CONFIG_ARCH_FSM9XXX)
#define MSM_TRIG_A2Q6_SMD_INT \
(smd_write_intr(1 << 10, MSM_GCC_BASE + 0x8))