summaryrefslogtreecommitdiff
path: root/drivers/regulator/max77663-regulator.c
diff options
context:
space:
mode:
authorSumit Sharma <sumsharma@nvidia.com>2013-02-06 16:21:14 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:00:44 -0700
commit800bb7afa600b2a317e965d1bb986f106071c380 (patch)
tree2353c3f0a02f511b5f8e414eeedc89bb83e808d5 /drivers/regulator/max77663-regulator.c
parent8f3f44f65fa9d18f9c6c88dec39a111cb3d506c3 (diff)
regulator: max77663: Changed SD0 & SD1 regulator data
Added support for changing SD0 & SD1 regulator data for MAX77663D PMU version Bug 1220546 Change-Id: I2b0f396a2f2d171f5657c2d3cd845d3b1ffa16d3 Signed-off-by: Sumit Sharma <sumsharma@nvidia.com> Reviewed-on: http://git-master/r/197932 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> (cherry picked from commit bfa7285a99c6a724fd8380a03674fb240f15e093) Reviewed-on: http://git-master/r/203702
Diffstat (limited to 'drivers/regulator/max77663-regulator.c')
-rw-r--r--drivers/regulator/max77663-regulator.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/regulator/max77663-regulator.c b/drivers/regulator/max77663-regulator.c
index 3da55ee9ec24..af7cb7a0f851 100644
--- a/drivers/regulator/max77663-regulator.c
+++ b/drivers/regulator/max77663-regulator.c
@@ -99,6 +99,7 @@
/* Voltage */
#define SDX_VOLT_MASK 0xFF
+#define SD0_VOLT_MASK 0x3F
#define SD1_VOLT_MASK 0x3F
#define LDO_VOLT_MASK 0x3F
@@ -840,6 +841,7 @@ static int max77663_regulator_probe(struct platform_device *pdev)
int id;
int reg_id;
int reg_count;
+ u8 val;
if (!pdata) {
dev_err(&pdev->dev, "No Platform data\n");
@@ -854,6 +856,18 @@ static int max77663_regulator_probe(struct platform_device *pdev)
return -ENOMEM;
}
+ ret = max77663_read_chip_version(pdev->dev.parent, &val);
+ if (ret == MAX77663_DRV_24) {
+ max77663_regs_info[MAX77663_REGULATOR_ID_SD0].volt_mask =
+ SD0_VOLT_MASK;
+ max77663_regs_info[MAX77663_REGULATOR_ID_SD0].min_uV = 800000;
+ max77663_regs_info[MAX77663_REGULATOR_ID_SD0].max_uV = 1587500;
+ max77663_regs_info[MAX77663_REGULATOR_ID_SD1].volt_mask =
+ SDX_VOLT_MASK;
+ max77663_regs_info[MAX77663_REGULATOR_ID_SD1].min_uV = 600000;
+ max77663_regs_info[MAX77663_REGULATOR_ID_SD1].max_uV = 3387500;
+ }
+
for (id = 0; id < reg_count; ++id) {
reg_pdata = pdata->regulator_pdata[id];
if (!reg_pdata) {