dev: pmic: Add support for enabling pmic usb clock

USB3.0 needs LNBB clock line to be enabled from pmic

CRs-Fixed: 610350
Change-Id: I45b61573959a2e8e1ba06f95e392f40633572312
diff --git a/dev/pmic/pm8x41/include/pm8x41.h b/dev/pmic/pm8x41/include/pm8x41.h
index 56ae327..e9580fd 100644
--- a/dev/pmic/pm8x41/include/pm8x41.h
+++ b/dev/pmic/pm8x41/include/pm8x41.h
@@ -208,4 +208,5 @@
 uint8_t pm8x41_get_is_cold_boot();
 void pm8x41_diff_clock_ctrl(uint8_t enable);
 void pm8x41_clear_pmic_watchdog(void);
+void pm8x41_lnbb_clock_ctrl(uint8_t enable);
 #endif
diff --git a/dev/pmic/pm8x41/include/pm8x41_hw.h b/dev/pmic/pm8x41/include/pm8x41_hw.h
index a1c2e6d..4a0d803 100644
--- a/dev/pmic/pm8x41/include/pm8x41_hw.h
+++ b/dev/pmic/pm8x41/include/pm8x41_hw.h
@@ -117,6 +117,9 @@
 #define DIFF_CLK1_EN_CTL                      0x5746
 #define DIFF_CLK1_EN_BIT                      7
 
+#define LNBB_CLK_EN_CTL                      0x5246
+#define LNBB_CLK_EN_BIT                      7
+
 /* SMBB registers */
 #define PM8XXX_IBAT_ATC_A                     0x1054
 #define PM8XXX_VBAT_DET                       0x105D
diff --git a/dev/pmic/pm8x41/pm8x41.c b/dev/pmic/pm8x41/pm8x41.c
index 8268ed2..5f874ae 100644
--- a/dev/pmic/pm8x41/pm8x41.c
+++ b/dev/pmic/pm8x41/pm8x41.c
@@ -410,6 +410,25 @@
 	return 1;
 }
 
+/* api to control lnbb clock */
+void pm8x41_lnbb_clock_ctrl(uint8_t enable)
+{
+	uint8_t reg;
+
+	reg = REG_READ(LNBB_CLK_EN_CTL);
+
+	if (enable)
+	{
+		reg |= BIT(LNBB_CLK_EN_BIT);
+	}
+	else
+	{
+		reg &= ~BIT(LNBB_CLK_EN_BIT);
+	}
+
+	REG_WRITE(LNBB_CLK_EN_CTL, reg);
+}
+
 /* api to control diff clock */
 void pm8x41_diff_clock_ctrl(uint8_t enable)
 {