diff options
Diffstat (limited to 'drivers/regulator/twl-regulator.c')
-rw-r--r-- | drivers/regulator/twl-regulator.c | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c index 2c6660583769..821fd4206ade 100644 --- a/drivers/regulator/twl-regulator.c +++ b/drivers/regulator/twl-regulator.c | |||
@@ -517,10 +517,9 @@ static struct regulator_ops twl6030_fixed_resource = { | |||
517 | remap_conf) \ | 517 | remap_conf) \ |
518 | TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \ | 518 | TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \ |
519 | remap_conf, TWL4030) | 519 | remap_conf, TWL4030) |
520 | #define TWL6030_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \ | 520 | #define TWL6030_FIXED_LDO(label, offset, mVolts, num, turnon_delay) \ |
521 | remap_conf) \ | ||
522 | TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \ | 521 | TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \ |
523 | remap_conf, TWL6030) | 522 | 0x0, TWL6030) |
524 | 523 | ||
525 | #define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf) { \ | 524 | #define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf) { \ |
526 | .base = offset, \ | 525 | .base = offset, \ |
@@ -539,13 +538,11 @@ static struct regulator_ops twl6030_fixed_resource = { | |||
539 | }, \ | 538 | }, \ |
540 | } | 539 | } |
541 | 540 | ||
542 | #define TWL6030_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts, num, \ | 541 | #define TWL6030_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts, num) { \ |
543 | remap_conf) { \ | ||
544 | .base = offset, \ | 542 | .base = offset, \ |
545 | .id = num, \ | 543 | .id = num, \ |
546 | .min_mV = min_mVolts, \ | 544 | .min_mV = min_mVolts, \ |
547 | .max_mV = max_mVolts, \ | 545 | .max_mV = max_mVolts, \ |
548 | .remap = remap_conf, \ | ||
549 | .desc = { \ | 546 | .desc = { \ |
550 | .name = #label, \ | 547 | .name = #label, \ |
551 | .id = TWL6030_REG_##label, \ | 548 | .id = TWL6030_REG_##label, \ |
@@ -574,11 +571,10 @@ static struct regulator_ops twl6030_fixed_resource = { | |||
574 | }, \ | 571 | }, \ |
575 | } | 572 | } |
576 | 573 | ||
577 | #define TWL6030_FIXED_RESOURCE(label, offset, num, turnon_delay, remap_conf) { \ | 574 | #define TWL6030_FIXED_RESOURCE(label, offset, num, turnon_delay) { \ |
578 | .base = offset, \ | 575 | .base = offset, \ |
579 | .id = num, \ | 576 | .id = num, \ |
580 | .delay = turnon_delay, \ | 577 | .delay = turnon_delay, \ |
581 | .remap = remap_conf, \ | ||
582 | .desc = { \ | 578 | .desc = { \ |
583 | .name = #label, \ | 579 | .name = #label, \ |
584 | .id = TWL6030_REG_##label, \ | 580 | .id = TWL6030_REG_##label, \ |
@@ -618,17 +614,17 @@ static struct twlreg_info twl_regs[] = { | |||
618 | /* 6030 REG with base as PMC Slave Misc : 0x0030 */ | 614 | /* 6030 REG with base as PMC Slave Misc : 0x0030 */ |
619 | /* Turnon-delay and remap configuration values for 6030 are not | 615 | /* Turnon-delay and remap configuration values for 6030 are not |
620 | verified since the specification is not public */ | 616 | verified since the specification is not public */ |
621 | TWL6030_ADJUSTABLE_LDO(VAUX1_6030, 0x54, 1000, 3300, 1, 0x21), | 617 | TWL6030_ADJUSTABLE_LDO(VAUX1_6030, 0x54, 1000, 3300, 1), |
622 | TWL6030_ADJUSTABLE_LDO(VAUX2_6030, 0x58, 1000, 3300, 2, 0x21), | 618 | TWL6030_ADJUSTABLE_LDO(VAUX2_6030, 0x58, 1000, 3300, 2), |
623 | TWL6030_ADJUSTABLE_LDO(VAUX3_6030, 0x5c, 1000, 3300, 3, 0x21), | 619 | TWL6030_ADJUSTABLE_LDO(VAUX3_6030, 0x5c, 1000, 3300, 3), |
624 | TWL6030_ADJUSTABLE_LDO(VMMC, 0x68, 1000, 3300, 4, 0x21), | 620 | TWL6030_ADJUSTABLE_LDO(VMMC, 0x68, 1000, 3300, 4), |
625 | TWL6030_ADJUSTABLE_LDO(VPP, 0x6c, 1000, 3300, 5, 0x21), | 621 | TWL6030_ADJUSTABLE_LDO(VPP, 0x6c, 1000, 3300, 5), |
626 | TWL6030_ADJUSTABLE_LDO(VUSIM, 0x74, 1000, 3300, 7, 0x21), | 622 | TWL6030_ADJUSTABLE_LDO(VUSIM, 0x74, 1000, 3300, 7), |
627 | TWL6030_FIXED_LDO(VANA, 0x50, 2100, 15, 0, 0x21), | 623 | TWL6030_FIXED_LDO(VANA, 0x50, 2100, 15, 0), |
628 | TWL6030_FIXED_LDO(VCXIO, 0x60, 1800, 16, 0, 0x21), | 624 | TWL6030_FIXED_LDO(VCXIO, 0x60, 1800, 16, 0), |
629 | TWL6030_FIXED_LDO(VDAC, 0x64, 1800, 17, 0, 0x21), | 625 | TWL6030_FIXED_LDO(VDAC, 0x64, 1800, 17, 0), |
630 | TWL6030_FIXED_LDO(VUSB, 0x70, 3300, 18, 0, 0x21), | 626 | TWL6030_FIXED_LDO(VUSB, 0x70, 3300, 18, 0), |
631 | TWL6030_FIXED_RESOURCE(CLK32KG, 0x8C, 48, 0, 0x21), | 627 | TWL6030_FIXED_RESOURCE(CLK32KG, 0x8C, 48, 0), |
632 | }; | 628 | }; |
633 | 629 | ||
634 | static int __devinit twlreg_probe(struct platform_device *pdev) | 630 | static int __devinit twlreg_probe(struct platform_device *pdev) |
@@ -682,7 +678,8 @@ static int __devinit twlreg_probe(struct platform_device *pdev) | |||
682 | } | 678 | } |
683 | platform_set_drvdata(pdev, rdev); | 679 | platform_set_drvdata(pdev, rdev); |
684 | 680 | ||
685 | twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_REMAP, | 681 | if (twl_class_is_4030()) |
682 | twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_REMAP, | ||
686 | info->remap); | 683 | info->remap); |
687 | 684 | ||
688 | /* NOTE: many regulators support short-circuit IRQs (presentable | 685 | /* NOTE: many regulators support short-circuit IRQs (presentable |