diff options
author | Sumit Sharma <sumsharma@nvidia.com> | 2013-02-06 16:21:14 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:00:44 -0700 |
commit | 800bb7afa600b2a317e965d1bb986f106071c380 (patch) | |
tree | 2353c3f0a02f511b5f8e414eeedc89bb83e808d5 /drivers/regulator/max77663-regulator.c | |
parent | 8f3f44f65fa9d18f9c6c88dec39a111cb3d506c3 (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.c | 14 |
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) { |