Merge "target: msm8952: Add SDM429 + PM660 support"
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index f0bd911..7513e9e 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -110,6 +110,15 @@
 static uint32_t  mmc_sdc_pwrctl_irq[] =
 	{ SDCC1_PWRCTL_IRQ, SDCC2_PWRCTL_IRQ };
 
+static int sdm429_pm660_target()
+{
+	if (platform_is_sdm429() && (board_hardware_subtype()
+			== HW_PLATFORM_SUBTYPE_429W_PM660))
+		return 1;
+	else
+		return 0;
+}
+
 void target_early_init(void)
 {
 #if WITH_DEBUG_UART
@@ -332,7 +341,8 @@
 
 #if PON_VIB_SUPPORT
 	/* turn on vibrator to indicate that phone is booting up to end user */
-	if(target_is_pmi_enabled() || platform_is_qm215() || platform_is_sdm429w())
+	if(target_is_pmi_enabled() || platform_is_qm215()
+			|| platform_is_sdm429w() || sdm429_pm660_target())
 		vib_timed_turn_on(VIBRATE_TIME);
 #endif
 
@@ -509,7 +519,7 @@
 void target_uninit(void)
 {
 #if PON_VIB_SUPPORT
-	if(target_is_pmi_enabled() || platform_is_sdm429w())
+	if(target_is_pmi_enabled() || platform_is_sdm429w() || sdm429_pm660_target())
 		turn_off_vib_early();
 #endif
 	mmc_put_card_to_sleep(dev);
@@ -704,8 +714,9 @@
 
 bool target_is_pmi_enabled(void)
 {
-	if (platform_is_qm215() || (platform_is_sdm429w()) || (platform_is_msm8917()
-		&& (board_hardware_subtype() == HW_PLATFORM_SUBTYPE_SAP_NOPMI)))
+	if (platform_is_qm215() || platform_is_sdm429w() || sdm429_pm660_target() ||
+			(platform_is_msm8917() && (board_hardware_subtype() ==
+			HW_PLATFORM_SUBTYPE_SAP_NOPMI)))
 		return 0;
 	else
 		return 1;
@@ -760,7 +771,7 @@
 		else
 			return PMIC_IS_PMI8950;
 	} else {
-		if (platform_is_qm215() || platform_is_sdm429w()) {
+		if (platform_is_qm215() || platform_is_sdm429w() || sdm429_pm660_target()) {
 			pmi_type = board_pmic_target(0) & PMIC_TYPE_MASK;
 			return pmi_type;
 		}