target: msm8952: Enable weak battery charging support

Enable weak battery charging support for Spyro in LK.
LK charges battery from SBL exit threshold (3.2V) to
HLOS entry threshold 3.4V (configurable).

Change-Id: Iae02319620ccdc34bbff09abaece82bf9ae385a9
Signed-off-by: Umang Chheda <uchheda@codeaurora.org>
diff --git a/dev/pmic/pm8x41/rules.mk b/dev/pmic/pm8x41/rules.mk
index 19d15be..2ee5c00 100644
--- a/dev/pmic/pm8x41/rules.mk
+++ b/dev/pmic/pm8x41/rules.mk
@@ -7,6 +7,12 @@
 	$(LOCAL_DIR)/pm8x41_adc.o \
 	$(LOCAL_DIR)/pm8x41_wled.o
 
+ifeq ($(ENABLE_WEAK_BATT_CHRG_SUPPORT),1)
+OBJS += \
+	$(LOCAL_DIR)/qpnp-smb2.o \
+	$(LOCAL_DIR)/qpnp-fg-gen3.o
+endif
+
 ifeq ($(ENABLE_PON_VIB_SUPPORT),true)
 OBJS += \
 	$(LOCAL_DIR)/pm8x41_vib.o
diff --git a/project/msm8952.mk b/project/msm8952.mk
index a9cf70e..ac8da71 100644
--- a/project/msm8952.mk
+++ b/project/msm8952.mk
@@ -99,6 +99,13 @@
 DEFINES += SMD_SUPPORT=1
 endif
 
+#Enable Weak battery charging feature
+ENABLE_WEAK_BATT_CHRG_SUPPORT := 1
+
+ifeq ($(ENABLE_WEAK_BATT_CHRG_SUPPORT),1)
+DEFINES += WEAK_BATT_CHRG_SUPPORT=1
+DEFINES += LK_BATT_VOLT_THRESHOLD=3400000
+endif
 
 ifeq ($(ENABLE_MDTP_SUPPORT),1)
 DEFINES += MDTP_SUPPORT=1
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index 65967fb..c95899f 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -69,6 +69,10 @@
 #include <vibrator.h>
 #endif
 
+#if WEAK_BATT_CHRG_SUPPORT
+#include <qpnp-smb2.h>
+#endif
+
 #if PON_VIB_SUPPORT
 #define VIBRATE_TIME    250
 #endif
@@ -345,6 +349,12 @@
 		vib_timed_turn_on(VIBRATE_TIME);
 #endif
 
+#if WEAK_BATT_CHRG_SUPPORT
+	if(sdm429_pm660_target())
+		/* Start Weak Battery Charging */
+		weak_battery_charging();
+#endif
+
 	if (target_use_signed_kernel())
 		target_crypto_init_params();