diff mbox

regulator: rk808: Fix min_uV for DCDC1 & DCDC2

Message ID 1412070294-5535-1-git-send-email-zyw@rock-chips.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Zhong Sept. 30, 2014, 9:44 a.m. UTC
The min_uv in DCDC1 & DCDC2 should be 712.5mv

Signed-off-by: Chris Zhong <zyw@rock-chips.com>

---

 drivers/regulator/rk808-regulator.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Doug Anderson Sept. 30, 2014, 4:43 p.m. UTC | #1
Chris,

On Tue, Sep 30, 2014 at 2:44 AM, Chris Zhong <zyw@rock-chips.com> wrote:
> The min_uv in DCDC1 & DCDC2 should be 712.5mv
>
> Signed-off-by: Chris Zhong <zyw@rock-chips.com>
>
> ---
>
>  drivers/regulator/rk808-regulator.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
> index e305416..196a5c8 100644
> --- a/drivers/regulator/rk808-regulator.c
> +++ b/drivers/regulator/rk808-regulator.c
> @@ -44,7 +44,7 @@ static const int rk808_buck_config_regs[] = {
>  };
>
>  static const struct regulator_linear_range rk808_buck_voltage_ranges[] = {
> -       REGULATOR_LINEAR_RANGE(700000, 0, 63, 12500),
> +       REGULATOR_LINEAR_RANGE(712500, 0, 63, 12500),
>  };

I have no problem with this (and the current "dts" file I see don't go
this low anyway), but it doesn't match the datasheet I have right now
which says "0.700 V" is the min.

-Doug
Heiko Stübner Sept. 30, 2014, 4:57 p.m. UTC | #2
Am Dienstag, 30. September 2014, 09:43:47 schrieb Doug Anderson:
> Chris,
> 
> On Tue, Sep 30, 2014 at 2:44 AM, Chris Zhong <zyw@rock-chips.com> wrote:
> > The min_uv in DCDC1 & DCDC2 should be 712.5mv
> > 
> > Signed-off-by: Chris Zhong <zyw@rock-chips.com>
> > 
> > ---
> > 
> >  drivers/regulator/rk808-regulator.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/regulator/rk808-regulator.c
> > b/drivers/regulator/rk808-regulator.c index e305416..196a5c8 100644
> > --- a/drivers/regulator/rk808-regulator.c
> > +++ b/drivers/regulator/rk808-regulator.c
> > @@ -44,7 +44,7 @@ static const int rk808_buck_config_regs[] = {
> > 
> >  };
> >  
> >  static const struct regulator_linear_range rk808_buck_voltage_ranges[] =
> >  {
> > 
> > -       REGULATOR_LINEAR_RANGE(700000, 0, 63, 12500),
> > +       REGULATOR_LINEAR_RANGE(712500, 0, 63, 12500),
> > 
> >  };
> 
> I have no problem with this (and the current "dts" file I see don't go
> this low anyway), but it doesn't match the datasheet I have right now
> which says "0.700 V" is the min.

Then it would be problem.

The original statement above says, that a register value of "0" equals 700mV, 
so changing this in this way would mean everything runs 12.5mV above the 
target voltage.

And I can confirm, that the current datasheet lists 700mV as equallying 
register value 0.
Mark Brown Sept. 30, 2014, 10:52 p.m. UTC | #3
On Tue, Sep 30, 2014 at 06:57:51PM +0200, Heiko Stübner wrote:
> Am Dienstag, 30. September 2014, 09:43:47 schrieb Doug Anderson:
> > On Tue, Sep 30, 2014 at 2:44 AM, Chris Zhong <zyw@rock-chips.com> wrote:

> > > -       REGULATOR_LINEAR_RANGE(700000, 0, 63, 12500),
> > > +       REGULATOR_LINEAR_RANGE(712500, 0, 63, 12500),

> > I have no problem with this (and the current "dts" file I see don't go
> > this low anyway), but it doesn't match the datasheet I have right now
> > which says "0.700 V" is the min.

> Then it would be problem.

> The original statement above says, that a register value of "0" equals 700mV, 
> so changing this in this way would mean everything runs 12.5mV above the 
> target voltage.

> And I can confirm, that the current datasheet lists 700mV as equallying 
> register value 0.

Has anyone got a voltmeter?
Chris Zhong Oct. 7, 2014, 3:29 a.m. UTC | #4
On 10/01/2014 06:52 AM, Mark Brown wrote:
> On Tue, Sep 30, 2014 at 06:57:51PM +0200, Heiko Stübner wrote:
>> Am Dienstag, 30. September 2014, 09:43:47 schrieb Doug Anderson:
>>> On Tue, Sep 30, 2014 at 2:44 AM, Chris Zhong <zyw@rock-chips.com> wrote:
>>>> -       REGULATOR_LINEAR_RANGE(700000, 0, 63, 12500),
>>>> +       REGULATOR_LINEAR_RANGE(712500, 0, 63, 12500),
>>> I have no problem with this (and the current "dts" file I see don't go
>>> this low anyway), but it doesn't match the datasheet I have right now
>>> which says "0.700 V" is the min.
>> Then it would be problem.
>> The original statement above says, that a register value of "0" equals 700mV,
>> so changing this in this way would mean everything runs 12.5mV above the
>> target voltage.
>> And I can confirm, that the current datasheet lists 700mV as equallying
>> register value 0.
> Has anyone got a voltmeter?
The latest datasheet has fixed this error.
The register value of "0" equals 712.5mV, so the max value can reach 
1.5v but not 1.4875v.
Doug Anderson Oct. 7, 2014, 4:54 a.m. UTC | #5
Chris and Mark,

On Mon, Oct 6, 2014 at 8:29 PM, Chris Zhong <zyw@rock-chips.com> wrote:
>
> On 10/01/2014 06:52 AM, Mark Brown wrote:
>>
>> On Tue, Sep 30, 2014 at 06:57:51PM +0200, Heiko Stübner wrote:
>>>
>>> Am Dienstag, 30. September 2014, 09:43:47 schrieb Doug Anderson:
>>>>
>>>> On Tue, Sep 30, 2014 at 2:44 AM, Chris Zhong <zyw@rock-chips.com> wrote:
>>>>>
>>>>> -       REGULATOR_LINEAR_RANGE(700000, 0, 63, 12500),
>>>>> +       REGULATOR_LINEAR_RANGE(712500, 0, 63, 12500),
>>>>
>>>> I have no problem with this (and the current "dts" file I see don't go
>>>> this low anyway), but it doesn't match the datasheet I have right now
>>>> which says "0.700 V" is the min.
>>>
>>> Then it would be problem.
>>> The original statement above says, that a register value of "0" equals
>>> 700mV,
>>> so changing this in this way would mean everything runs 12.5mV above the
>>> target voltage.
>>> And I can confirm, that the current datasheet lists 700mV as equallying
>>> register value 0.
>>
>> Has anyone got a voltmeter?
>
> The latest datasheet has fixed this error.
> The register value of "0" equals 712.5mV, so the max value can reach 1.5v
> but not 1.4875v.

OK, that sounds like this is the right change, then.

To Mark's point, I measured voltage using the builtin voltage
measurement feature this board (not 100% sure the accuracy / precision
guarantees on them, but...):

Asked for 1.300 volts on vdd_arm (dcdc1).
* Before: got 1.326
* After: got 1.310

Asked for 1.3 on vdd_gpu (dcdc2):
* Before: 1.326
* After: got 1.314

Asked for 1.0 on vdd_gpu:
* Before: 1.038
* After: got 1.026

Asked for .8 on vdd_gpu
* Before:.836
* After: got .822


It almost sounds like we're still running a little too high for
voltages, but this gets us in the right direction I guess.

-Doug
Mark Brown Oct. 7, 2014, 7:40 p.m. UTC | #6
On Tue, Sep 30, 2014 at 05:44:54PM +0800, Chris Zhong wrote:
> The min_uv in DCDC1 & DCDC2 should be 712.5mv

Applied, thanks.
diff mbox

Patch

diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
index e305416..196a5c8 100644
--- a/drivers/regulator/rk808-regulator.c
+++ b/drivers/regulator/rk808-regulator.c
@@ -44,7 +44,7 @@  static const int rk808_buck_config_regs[] = {
 };
 
 static const struct regulator_linear_range rk808_buck_voltage_ranges[] = {
-	REGULATOR_LINEAR_RANGE(700000, 0, 63, 12500),
+	REGULATOR_LINEAR_RANGE(712500, 0, 63, 12500),
 };
 
 static const struct regulator_linear_range rk808_buck4_voltage_ranges[] = {