RE: [PATCH v2] regulator: pwm: Fix regulator ramp delay for continuous mode
From: Aleksandr Frid
Date: Thu Jul 07 2016 - 14:44:00 EST
>>
In the case that you don't need multiple steps then don't specify a regulator-ramp-delay, just a pwm-regulator-settle-us.
>>
Agreed
-----Original Message-----
From: dianders@xxxxxxxxxx [mailto:dianders@xxxxxxxxxx] On Behalf Of Doug Anderson
Sent: Thursday, July 07, 2016 11:32 AM
To: Aleksandr Frid
Cc: Laxman Dewangan; Mark Brown; Boris Brezillon; Lee Jones; Brian Norris; open list:ARM/Rockchip SoC...; Heiko Stuebner; Thierry Reding; Liam Girdwood; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2] regulator: pwm: Fix regulator ramp delay for continuous mode
Hi,
On Thu, Jul 7, 2016 at 11:23 AM, Aleksandr Frid <afrid@xxxxxxxxxx> wrote:
> Hi,
>
>>>
> In that case we should probably add a new PWM regulator property and not abuse the existing one. Maybe you use "pwm-regulator-settle-us"
> or something?
>>>
> Looks reasonable to me.
>
>>>
> actually the right thing is probably to implement
> 'regulator-ramp-delay' as doing several small steps in that case
>>>
> Ramp delay uV/us is not a "real" metric for some PWM regulators with exponential transition -- as opposite to fixed slew-rate linear transition on other regulators. So splitting transition into multiple steps to implement artificial (in this case) metric seems questionable.
In the case that you don't need multiple steps then don't specify a regulator-ramp-delay, just a pwm-regulator-settle-us.
...the suggestion for multiple steps is because (so I'm told) it helps avoid overshoot or undershoot problems. In general the whole point of ramping a regulator slowly is to avoid overshoot or undershoot problems. The "regulator-ramp-delay" property in Linux is a little odd because it sort of "describes" the ramp delay and sort of "sets"
the ramp delay. Many PMICs allow you to set how fast the regulator will ramp and this property is used to specify how the register in the PMIC should be set. However, it is also used as the actual delay in Linux.
-Doug