msm: Add msm-ssbi devices for PM8058 on supported targets
Supported targets are msm8660, msm7x30 and fsm9xxx
Change-Id: I1d21b73ba67c6769441658e648c32204c72754d3
Acked-by: Kaushik Sikdar <ksikdar@qualcomm.com>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c
index ee9df6f..f88620f 100644
--- a/arch/arm/mach-msm/board-msm7x30.c
+++ b/arch/arm/mach-msm/board-msm7x30.c
@@ -21,6 +21,7 @@
#ifdef CONFIG_SPI_QSD
#include <linux/spi/spi.h>
#endif
+#include <linux/msm_ssbi.h>
#include <linux/mfd/pmic8058.h>
#include <linux/mfd/marimba.h>
#include <linux/i2c.h>
@@ -816,6 +817,7 @@
static struct pm8058_platform_data pm8058_7x30_data = {
.irq_base = PMIC8058_IRQ_BASE,
+ .irq = MSM_GPIO_TO_INT(PMIC_GPIO_INT),
.num_subdevs = ARRAY_SIZE(pm8058_subdevs),
.sub_devices = pm8058_subdevs,
@@ -830,6 +832,16 @@
},
};
+#ifdef CONFIG_MSM_SSBI
+static struct msm_ssbi_platform_data msm7x30_ssbi_pm8058_pdata = {
+ .controller_type = MSM_SBI_CTRL_SSBI2,
+ .slave = {
+ .name = "pm8058-core",
+ .platform_data = &pm8058_7x30_data,
+ },
+};
+#endif
+
static struct i2c_board_info cy8info[] __initdata = {
{
I2C_BOARD_INFO(CY_I2C_NAME, 0x24),
@@ -5306,6 +5318,10 @@
&android_usb_device,
#endif
&qsd_device_spi,
+
+#ifdef CONFIG_MSM_SSBI
+ &msm_device_ssbi_pmic1,
+#endif
#ifdef CONFIG_I2C_SSBI
&msm_device_ssbi6,
&msm_device_ssbi7,
@@ -6977,6 +6993,11 @@
msm_adc_pdata.num_adc = ARRAY_SIZE(msm_adc_surf_device_names);
}
+#ifdef CONFIG_MSM_SSBI
+ msm_device_ssbi_pmic1.dev.platform_data =
+ &msm7x30_ssbi_pm8058_pdata;
+#endif
+
platform_add_devices(msm_footswitch_devices,
msm_num_footswitch_devices);
platform_add_devices(devices, ARRAY_SIZE(devices));