dev: pmic: pm8x41: Enable lnbb clock using rpm-smd

ln_bb clock required for usb should be enable by voting
to RPM instead of direct register writes.

Change-Id: If3bbaec74c5a5e8cdeb211fd85d67d32765748c3
diff --git a/dev/pmic/pm8x41/pm8x41.c b/dev/pmic/pm8x41/pm8x41.c
index 9315f72..c30c6b6 100644
--- a/dev/pmic/pm8x41/pm8x41.c
+++ b/dev/pmic/pm8x41/pm8x41.c
@@ -33,8 +33,24 @@
 #include <string.h>
 #include <pm8x41_hw.h>
 #include <pm8x41.h>
+#include <rpm-smd.h>
+#include <regulator.h>
 #include <platform/timer.h>
 
+/* Enable LN BB CLK */
+static uint32_t ln_bb_clk[][8] = {
+	{
+		RPM_CLK_BUFFER_A_REQ, LNBB_CLK_ID,
+		KEY_SOFTWARE_ENABLE, 4, GENERIC_DISABLE,
+		RPM_KEY_PIN_CTRL_CLK_BUFFER_ENABLE_KEY, 4, RPM_CLK_BUFFER_PIN_CONTROL_ENABLE_NONE,
+	},
+	{
+		RPM_CLK_BUFFER_A_REQ, LNBB_CLK_ID,
+		KEY_SOFTWARE_ENABLE, 4, GENERIC_ENABLE,
+		RPM_KEY_PIN_CTRL_CLK_BUFFER_ENABLE_KEY, 4, RPM_CLK_BUFFER_PIN_CONTROL_ENABLE_NONE,
+	},
+};
+
 static uint8_t mpp_slave_id;
 
 uint8_t pmi8994_config_mpp_slave_id(uint8_t slave_id)
@@ -527,20 +543,14 @@
 /* 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);
+		rpm_clk_enable(&ln_bb_clk[GENERIC_ENABLE][0], 24);
 	}
 	else
 	{
-		reg &= ~BIT(LNBB_CLK_EN_BIT);
+		rpm_clk_enable(&ln_bb_clk[GENERIC_DISABLE][0], 24);
 	}
-
-	REG_WRITE(LNBB_CLK_EN_CTL, reg);
 }
 
 /* api to control diff clock */