msm8974: Implement fastboot reboot functionality

Use PMIC to reset the device using PS_HOLD warm reset

Change-Id: I860eef7a8510c898bba3c44c3f88f9226d6fb382
diff --git a/dev/pmic/pm8x41/pm8x41.c b/dev/pmic/pm8x41/pm8x41.c
index e16e684..f6804ec 100644
--- a/dev/pmic/pm8x41/pm8x41.c
+++ b/dev/pmic/pm8x41/pm8x41.c
@@ -199,3 +199,23 @@
 
 	return (rt_sts & BIT(RESIN_BARK_INT_BIT));
 }
+
+void pm8x41_reset_configure(uint8_t reset_type)
+{
+	uint8_t val;
+
+	/* disable PS_HOLD_RESET */
+	REG_WRITE(PON_PS_HOLD_RESET_CTL, 0x0);
+
+	/* Delay needed for disable to kick in. */
+	udelay(300);
+
+	/* configure reset type */
+	REG_WRITE(PON_PS_HOLD_RESET_CTL, reset_type);
+
+	val = REG_READ(PON_PS_HOLD_RESET_CTL);
+
+	/* enable PS_HOLD_RESET */
+	val |= BIT(S2_RESET_EN_BIT);
+	REG_WRITE(PON_PS_HOLD_RESET_CTL, val);
+}