aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@marvell.com>2009-07-08 05:57:24 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2009-09-22 08:32:37 -0400
commitfc4f42e7fb021340c14dfd726313be6cfdeab19e (patch)
treebd1c5a69e56660cdaa09ee1aa92e50e1c832e683 /drivers/regulator
parent0198d1163b3e0313b3f073b62384abfab1a17cff (diff)
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')
-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 = {
375 .enable_bit = (ebit), \ 375 .enable_bit = (ebit), \
376} 376}
377 377
378#define DA9030_DVC(_id, min, max, step, vreg, nbits, ureg, ubit, ereg, ebit) \
379{ \
380 .desc = { \
381 .name = #_id, \
382 .ops = &da9034_regulator_dvc_ops, \
383 .type = REGULATOR_VOLTAGE, \
384 .id = DA9030_ID_##_id, \
385 .owner = THIS_MODULE, \
386 }, \
387 .min_uV = (min) * 1000, \
388 .max_uV = (max) * 1000, \
389 .step_uV = (step) * 1000, \
390 .vol_reg = DA9030_##vreg, \
391 .vol_shift = (0), \
392 .vol_nbits = (nbits), \
393 .update_reg = DA9030_##ureg, \
394 .update_bit = (ubit), \
395 .enable_reg = DA9030_##ereg, \
396 .enable_bit = (ebit), \
397}
398
378#define DA9034_DVC(_id, min, max, step, vreg, nbits, ureg, ubit, ereg, ebit) \ 399#define DA9034_DVC(_id, min, max, step, vreg, nbits, ureg, ubit, ereg, ebit) \
379{ \ 400{ \
380 .desc = { \ 401 .desc = { \
@@ -425,6 +446,8 @@ static struct regulator_ops da9034_regulator_ldo12_ops = {
425 446
426static struct da903x_regulator_info da903x_regulator_info[] = { 447static struct da903x_regulator_info da903x_regulator_info[] = {
427 /* DA9030 */ 448 /* DA9030 */
449 DA9030_DVC(BUCK2, 850, 1625, 25, BUCK2DVM1, 5, BUCK2DVM1, 7, RCTL11, 0),
450
428 DA9030_LDO( 1, 1200, 3200, 100, LDO1, 0, 5, RCTL12, 1), 451 DA9030_LDO( 1, 1200, 3200, 100, LDO1, 0, 5, RCTL12, 1),
429 DA9030_LDO( 2, 1800, 3200, 100, LDO23, 0, 4, RCTL12, 2), 452 DA9030_LDO( 2, 1800, 3200, 100, LDO23, 0, 4, RCTL12, 2),
430 DA9030_LDO( 3, 1800, 3200, 100, LDO23, 4, 4, RCTL12, 3), 453 DA9030_LDO( 3, 1800, 3200, 100, LDO23, 4, 4, RCTL12, 3),