msm: 8064: add platform configuration for two external 9k modems
The dsda2 target is a new platform that has two external mdm9x15
modems that operate simultaneously.
Change-Id: If51077a41b21447dcf0c245620fff7439c8c8394
Signed-off-by: Ameya Thakur <ameyat@codeaurora.org>
diff --git a/arch/arm/mach-msm/devices-8064.c b/arch/arm/mach-msm/devices-8064.c
index 197483e..1f4086f 100644
--- a/arch/arm/mach-msm/devices-8064.c
+++ b/arch/arm/mach-msm/devices-8064.c
@@ -2531,12 +2531,21 @@
#define MDM2AP_STATUS 49
#define AP2MDM_STATUS 48
#define AP2MDM_SOFT_RESET 27
-#define I2S_AP2MDM_SOFT_RESET 0
+#define I2S_AP2MDM_SOFT_RESET 0
#define AP2MDM_WAKEUP 35
#define I2S_AP2MDM_WAKEUP 44
#define MDM2AP_PBLRDY 46
+#define AMDM2AP_PBLRDY_DSDA2 31
#define I2S_MDM2AP_PBLRDY 81
+/* Gpios for second MDM */
+#define BMDM2AP_ERRFATAL 81
+#define AP2BMDM_ERRFATAL 18
+#define BMDM2AP_STATUS 32
+#define AP2BMDM_STATUS 56
+#define AP2BMDM_SOFT_RESET 3
+#define AP2BMDM_WAKEUP 29
+
static struct resource mdm_resources[] = {
{
.start = MDM2AP_ERRFATAL,
@@ -2582,6 +2591,90 @@
},
};
+static struct resource mdm_dsda2_amdm_resources[] = {
+ {
+ .start = MDM2AP_ERRFATAL,
+ .end = MDM2AP_ERRFATAL,
+ .name = "MDM2AP_ERRFATAL",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2MDM_ERRFATAL,
+ .end = AP2MDM_ERRFATAL,
+ .name = "AP2MDM_ERRFATAL",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = MDM2AP_STATUS,
+ .end = MDM2AP_STATUS,
+ .name = "MDM2AP_STATUS",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2MDM_STATUS,
+ .end = AP2MDM_STATUS,
+ .name = "AP2MDM_STATUS",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2MDM_SOFT_RESET,
+ .end = AP2MDM_SOFT_RESET,
+ .name = "AP2MDM_SOFT_RESET",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2MDM_WAKEUP,
+ .end = AP2MDM_WAKEUP,
+ .name = "AP2MDM_WAKEUP",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AMDM2AP_PBLRDY_DSDA2,
+ .end = AMDM2AP_PBLRDY_DSDA2,
+ .name = "MDM2AP_PBLRDY",
+ .flags = IORESOURCE_IO,
+ },
+};
+
+static struct resource mdm_dsda2_bmdm_resources[] = {
+ {
+ .start = BMDM2AP_ERRFATAL,
+ .end = BMDM2AP_ERRFATAL,
+ .name = "MDM2AP_ERRFATAL",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2BMDM_ERRFATAL,
+ .end = AP2BMDM_ERRFATAL,
+ .name = "AP2MDM_ERRFATAL",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = BMDM2AP_STATUS,
+ .end = BMDM2AP_STATUS,
+ .name = "MDM2AP_STATUS",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2BMDM_STATUS,
+ .end = AP2BMDM_STATUS,
+ .name = "AP2MDM_STATUS",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2BMDM_SOFT_RESET,
+ .end = AP2BMDM_SOFT_RESET,
+ .name = "AP2MDM_SOFT_RESET",
+ .flags = IORESOURCE_IO,
+ },
+ {
+ .start = AP2BMDM_WAKEUP,
+ .end = AP2BMDM_WAKEUP,
+ .name = "AP2MDM_WAKEUP",
+ .flags = IORESOURCE_IO,
+ },
+};
+
static struct resource i2s_mdm_resources[] = {
{
.start = MDM2AP_ERRFATAL,
@@ -2634,6 +2727,20 @@
.resource = mdm_resources,
};
+struct platform_device amdm_8064_device = {
+ .name = "mdm2_modem",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(mdm_dsda2_amdm_resources),
+ .resource = mdm_dsda2_amdm_resources,
+};
+
+struct platform_device bmdm_8064_device = {
+ .name = "mdm2_modem",
+ .id = 1,
+ .num_resources = ARRAY_SIZE(mdm_dsda2_bmdm_resources),
+ .resource = mdm_dsda2_bmdm_resources,
+};
+
struct platform_device i2s_mdm_8064_device = {
.name = "mdm2_modem",
.id = -1,