msm: board-8064: add smb349 charger device
Add relevant platform data for SMB349 charger chip.
Change-Id: I49510b18cd7940c5494a5dcb026fbf236b12abea
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8064-pmic.c b/arch/arm/mach-msm/board-8064-pmic.c
index 4b4f32a..ca300e9 100644
--- a/arch/arm/mach-msm/board-8064-pmic.c
+++ b/arch/arm/mach-msm/board-8064-pmic.c
@@ -117,6 +117,7 @@
PM8921_GPIO_OUTPUT(23, 0, HIGH), /* touchscreen power FET */
PM8921_GPIO_OUTPUT_BUFCONF(25, 0, LOW, CMOS), /* DISP_RESET_N */
PM8921_GPIO_OUTPUT_FUNC(26, 0, PM_GPIO_FUNC_2), /* Bl: Off, PWM mode */
+ PM8921_GPIO_OUTPUT_VIN(30, 1, PM_GPIO_VIN_VPH), /* SMB349 susp line */
PM8921_GPIO_OUTPUT_BUFCONF(36, 1, LOW, OPEN_DRAIN),
PM8921_GPIO_OUTPUT_FUNC(44, 0, PM_GPIO_FUNC_2),
PM8921_GPIO_OUTPUT(33, 0, HIGH),
diff --git a/arch/arm/mach-msm/board-8064.c b/arch/arm/mach-msm/board-8064.c
index 54d68d3..82ce0df 100644
--- a/arch/arm/mach-msm/board-8064.c
+++ b/arch/arm/mach-msm/board-8064.c
@@ -15,6 +15,7 @@
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/i2c.h>
+#include <linux/i2c/smb349.h>
#include <linux/slimbus/slimbus.h>
#include <linux/mfd/wcd9xxx/core.h>
#include <linux/mfd/wcd9xxx/pdata.h>
@@ -603,6 +604,19 @@
}
}
+static struct smb349_platform_data smb349_data __initdata = {
+ .en_n_gpio = PM8921_GPIO_PM_TO_SYS(37),
+ .chg_susp_gpio = PM8921_GPIO_PM_TO_SYS(30),
+ .chg_current_ma = 2200,
+};
+
+static struct i2c_board_info smb349_charger_i2c_info[] __initdata = {
+ {
+ I2C_BOARD_INFO(SMB349_NAME, 0x1B),
+ .platform_data = &smb349_data,
+ },
+};
+
#define TABLA_INTERRUPT_BASE (NR_MSM_IRQS + NR_GPIO_IRQS + NR_PM8921_IRQS)
/* Micbias setting is based on 8660 CDP/MTP/FLUID requirement
@@ -2032,6 +2046,12 @@
static struct i2c_registry apq8064_i2c_devices[] __initdata = {
{
+ I2C_LIQUID,
+ APQ_8064_GSBI1_QUP_I2C_BUS_ID,
+ smb349_charger_i2c_info,
+ ARRAY_SIZE(smb349_charger_i2c_info)
+ },
+ {
I2C_SURF | I2C_LIQUID,
APQ_8064_GSBI3_QUP_I2C_BUS_ID,
mxt_device_info,