target: add support to enable individual regulators
Add support to msm8994, msm8909, and msm8952 to
individually enable regulators.
Change-Id: Ia38b5a0b9d81658c01cccfcd25c59d0eb574b55c
diff --git a/target/msm8952/regulator.c b/target/msm8952/regulator.c
index 2e058bc..fae6cfb 100644
--- a/target/msm8952/regulator.c
+++ b/target/msm8952/regulator.c
@@ -29,6 +29,7 @@
#include <regulator.h>
#include <rpm-smd.h>
+#include <bits.h>
#include <debug.h>
static uint32_t ldo2[][11]=
@@ -83,20 +84,26 @@
},
};
-void regulator_enable()
+void regulator_enable(uint32_t enable)
{
- rpm_send_data(&ldo2[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
+ if (enable & REG_LDO2)
+ rpm_send_data(&ldo2[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
- rpm_send_data(&ldo17[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
+ if (enable & REG_LDO17)
+ rpm_send_data(&ldo17[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
- rpm_send_data(&ldo6[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
+ if (enable & REG_LDO6)
+ rpm_send_data(&ldo6[GENERIC_ENABLE][0], 36, RPM_REQUEST_TYPE);
}
-void regulator_disable()
+void regulator_disable(uint32_t enable)
{
- rpm_send_data(&ldo2[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
+ if (enable & REG_LDO2)
+ rpm_send_data(&ldo2[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
- rpm_send_data(&ldo17[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
+ if (enable & REG_LDO2)
+ rpm_send_data(&ldo17[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
- rpm_send_data(&ldo6[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
+ if (enable & REG_LDO2)
+ rpm_send_data(&ldo6[GENERIC_DISABLE][0], 36, RPM_REQUEST_TYPE);
}