dev: pm8xxx: Add support for spmi read/write APIs

Add support for spmi read, write APIs for weak battery charging support

Change-Id: I71245af744910f76bdc4b6b364178499c8c2c268
diff --git a/dev/pmic/pm8x41/pm8x41.c b/dev/pmic/pm8x41/pm8x41.c
index 6733656..939e169 100644
--- a/dev/pmic/pm8x41/pm8x41.c
+++ b/dev/pmic/pm8x41/pm8x41.c
@@ -77,6 +77,40 @@
 	return val;
 }
 
+uint32_t spmi_reg_read(uint32_t slave_id, uint16_t addr, uint8_t *data, uint8_t priority)
+{
+	struct pmic_arb_cmd cmd;
+	struct pmic_arb_param param;
+
+	cmd.address = PERIPH_ID(addr);
+	cmd.offset = REG_OFFSET(addr);
+	cmd.slave_id = slave_id;
+
+	cmd.priority = priority;
+
+	param.buffer = data;
+	param.size   = 1;
+
+	return pmic_arb_read_cmd(&cmd, &param);
+}
+
+uint32_t spmi_reg_write(uint32_t slave_id, uint16_t addr, uint8_t *data, uint8_t priority)
+{
+	struct pmic_arb_cmd cmd;
+	struct pmic_arb_param param;
+
+	cmd.address = PERIPH_ID(addr);
+	cmd.offset = REG_OFFSET(addr);
+	cmd.slave_id = slave_id;
+
+	cmd.priority = priority;
+
+	param.buffer = data;
+	param.size   = 1;
+
+	return pmic_arb_write_cmd(&cmd, &param);
+}
+
 /* SPMI helper function which takes slave id as the i/p */
 void pm8xxx_reg_write(uint8_t slave_id, uint32_t addr, uint8_t val)
 {