Merge "dev: gcdb: display: configure MIPI mode for auo 390p cmd mode panel"
diff --git a/dev/qpnp_haptic/qpnp_vib.c b/dev/qpnp_haptic/qpnp_vib.c
index fecb794..097e486 100644
--- a/dev/qpnp_haptic/qpnp_vib.c
+++ b/dev/qpnp_haptic/qpnp_vib.c
@@ -31,7 +31,7 @@
 
 void pm_vib_turn_on()
 {
-	if ((board_pmic_target(1) & 0xffff) == PMIC_IS_PMI632)
+	if ((board_pmic_target(1) & PMIC_TYPE_MASK) == PMIC_IS_PMI632)
 		pm_vib_ldo_turn_on();
 	else
 		pm_haptic_vib_turn_on();
@@ -39,7 +39,7 @@
 
 void pm_vib_turn_off()
 {
-	if ((board_pmic_target(1) & 0xffff) == PMIC_IS_PMI632)
+	if ((board_pmic_target(1) & PMIC_TYPE_MASK) == PMIC_IS_PMI632)
 		pm_vib_ldo_turn_off();
 	else
 		pm_haptic_vib_turn_off();
diff --git a/platform/msm_shared/include/board.h b/platform/msm_shared/include/board.h
index 866fba2..90f7081 100644
--- a/platform/msm_shared/include/board.h
+++ b/platform/msm_shared/include/board.h
@@ -36,6 +36,8 @@
 #define BOARD_SOC_VERSION2     0x20000
 #define MAX_PMIC_DEVICES       SMEM_MAX_PMIC_DEVICES
 
+#define PMIC_TYPE_MASK 0xff
+
 struct board_pmic_data {
 	uint32_t pmic_type;
 	uint32_t pmic_version;
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index a7c3469..b748803 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -294,7 +294,7 @@
 			uint8_t pmi_rev = 0;
 			uint32_t pmi_type = 0;
 
-			pmi_type = board_pmic_target(1) & 0xffff;
+			pmi_type = board_pmic_target(1) & PMIC_TYPE_MASK;
 			if(pmi_type == PMIC_IS_PMI8950)
 			{
 				/* read pmic spare register for rev */
@@ -725,7 +725,7 @@
 uint32_t target_get_pmic()
 {
 	if (target_is_pmi_enabled()) {
-		uint32_t pmi_type = board_pmic_target(1) & 0xffff;
+		uint32_t pmi_type = board_pmic_target(1) & PMIC_TYPE_MASK;
 		if (pmi_type == PMIC_IS_PMI632)
 			return PMIC_IS_PMI632;
 		else
diff --git a/target/msm8953/init.c b/target/msm8953/init.c
index d09b5c8..2195f83 100644
--- a/target/msm8953/init.c
+++ b/target/msm8953/init.c
@@ -75,6 +75,9 @@
 #define PMIC_ARB_OWNER_ID       0
 #define TLMM_VOL_UP_BTN_GPIO    85
 
+#define PRI_PMIC_SLAVE_ID	0
+#define SEC_PMIC_SLAVE_ID	2
+
 #define FASTBOOT_MODE           0x77665500
 #define RECOVERY_MODE           0x77665502
 #define PON_SOFT_RB_SPARE       0x88F
@@ -691,7 +694,7 @@
 uint32_t target_get_pmic()
 {
 	if (target_is_pmi_enabled()) {
-		uint32_t pmi_type = board_pmic_target(1) & 0xffff;
+		uint32_t pmi_type = board_pmic_target(1) & PMIC_TYPE_MASK;
 		if (pmi_type == PMIC_IS_PMI632)
 			return PMIC_IS_PMI632;
 		else
@@ -705,12 +708,21 @@
 void pmic_reset_configure(uint8_t reset_type)
 {
 	uint32_t pmi_type;
+	uint8_t sec_reset_type = reset_type;
 
 	pmi_type = target_get_pmic();
 	if (pmi_type == PMIC_IS_PMI632)
+	{
 		pmi632_reset_configure(reset_type);
+	}
 	else
-		pm8994_reset_configure(reset_type);
+	{
+		if (reset_type == PON_PSHOLD_HARD_RESET)
+			sec_reset_type = PON_PSHOLD_SHUTDOWN;
+
+		pm8996_reset_configure(PRI_PMIC_SLAVE_ID, reset_type);
+		pm8996_reset_configure(SEC_PMIC_SLAVE_ID, sec_reset_type);
+	}
 }
 
 struct qmp_reg qmp_settings[] =