summaryrefslogtreecommitdiff
path: root/drivers/regulator/da903x.c
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@marvell.com>2009-07-08 13:57:24 +0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2009-09-22 16:32:37 +0400
commitfc4f42e7fb021340c14dfd726313be6cfdeab19e (patch)
treebd1c5a69e56660cdaa09ee1aa92e50e1c832e683 /drivers/regulator/da903x.c
parent0198d1163b3e0313b3f073b62384abfab1a17cff (diff)
downloadlinux-fc4f42e7fb021340c14dfd726313be6cfdeab19e.tar.xz
regulator: support da9030 BUCK in da903x driver
Support the operation of DA9030 BUCK2 in da903x driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'drivers/regulator/da903x.c')
-rw-r--r--drivers/regulator/da903x.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/regulator/da903x.c b/drivers/regulator/da903x.c
index 33dfeeb9407c..49081b44bf52 100644
--- a/drivers/regulator/da903x.c
+++ b/drivers/regulator/da903x.c
@@ -375,6 +375,27 @@ static struct regulator_ops da9034_regulator_ldo12_ops = {
.enable_bit = (ebit), \
}
+#define DA9030_DVC(_id, min, max, step, vreg, nbits, ureg, ubit, ereg, ebit) \
+{ \
+ .desc = { \
+ .name = #_id, \
+ .ops = &da9034_regulator_dvc_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .id = DA9030_ID_##_id, \
+ .owner = THIS_MODULE, \
+ }, \
+ .min_uV = (min) * 1000, \
+ .max_uV = (max) * 1000, \
+ .step_uV = (step) * 1000, \
+ .vol_reg = DA9030_##vreg, \
+ .vol_shift = (0), \
+ .vol_nbits = (nbits), \
+ .update_reg = DA9030_##ureg, \
+ .update_bit = (ubit), \
+ .enable_reg = DA9030_##ereg, \
+ .enable_bit = (ebit), \
+}
+
#define DA9034_DVC(_id, min, max, step, vreg, nbits, ureg, ubit, ereg, ebit) \
{ \
.desc = { \
@@ -425,6 +446,8 @@ static struct regulator_ops da9034_regulator_ldo12_ops = {
static struct da903x_regulator_info da903x_regulator_info[] = {
/* DA9030 */
+ DA9030_DVC(BUCK2, 850, 1625, 25, BUCK2DVM1, 5, BUCK2DVM1, 7, RCTL11, 0),
+
DA9030_LDO( 1, 1200, 3200, 100, LDO1, 0, 5, RCTL12, 1),
DA9030_LDO( 2, 1800, 3200, 100, LDO23, 0, 4, RCTL12, 2),
DA9030_LDO( 3, 1800, 3200, 100, LDO23, 4, 4, RCTL12, 3),