diff options
| author | David Collins <collinsd@codeaurora.org> | 2016-09-19 10:53:10 -0700 |
|---|---|---|
| committer | David Collins <collinsd@codeaurora.org> | 2016-09-19 12:01:08 -0700 |
| commit | 8692a7d6784228c55a876e659912bcffb81fb3fb (patch) | |
| tree | 3a623eac52e0b435bb00715da7319a477371c013 /drivers/regulator | |
| parent | 4e2a8a0fa1c78712904312e13ef33d02be78d421 (diff) | |
regulator: cpr3-mmss-regulator: update reference voltages for msmcobalt v2
MSMCOBALT v2 parts with CPR fusing revision 1 and above will have
their open-loop voltage fuses blown assuming new lower reference
voltages. These lower reference values allow for fusing parts
with lower open-loop voltages than was possible before. Update
the driver in order to use a different set of open-loop fuse
reference voltages for MSMCOBALT v2 CPR revision 0 vs revisions
1 to 7.
Change-Id: I8539ca3a3456b9562e7ff0e48fd7824c15cea68f
CRs-Fixed: 1068464
Signed-off-by: David Collins <collinsd@codeaurora.org>
Diffstat (limited to 'drivers/regulator')
| -rw-r--r-- | drivers/regulator/cpr3-mmss-regulator.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/regulator/cpr3-mmss-regulator.c b/drivers/regulator/cpr3-mmss-regulator.c index b0439871c41a..59cbe7460750 100644 --- a/drivers/regulator/cpr3-mmss-regulator.c +++ b/drivers/regulator/cpr3-mmss-regulator.c @@ -217,6 +217,14 @@ msmcobalt_v1_rev0_mmss_fuse_ref_volt[MSM8996_MMSS_FUSE_CORNERS] = { }; static const int msmcobalt_v2_mmss_fuse_ref_volt[MSM8996_MMSS_FUSE_CORNERS] = { + 516000, + 628000, + 752000, + 924000, +}; + +static const int +msmcobalt_v2_rev0_mmss_fuse_ref_volt[MSM8996_MMSS_FUSE_CORNERS] = { 616000, 740000, 828000, @@ -759,7 +767,10 @@ static int cpr3_msm8996_mmss_calculate_open_loop_voltages( goto done; } - if (vreg->thread->ctrl->soc_revision == MSMCOBALT_V2_SOC_ID) + if (vreg->thread->ctrl->soc_revision == MSMCOBALT_V2_SOC_ID + && fuse->cpr_fusing_rev == 0) + ref_volt = msmcobalt_v2_rev0_mmss_fuse_ref_volt; + else if (vreg->thread->ctrl->soc_revision == MSMCOBALT_V2_SOC_ID) ref_volt = msmcobalt_v2_mmss_fuse_ref_volt; else if (vreg->thread->ctrl->soc_revision == MSMCOBALT_V1_SOC_ID && fuse->cpr_fusing_rev == 0) |
