Re: [PATCH 2/4] dt-bindings: pwm-backlight: add a num-interpolation-steps property.

From: Enric Balletbo Serra
Date: Tue Jan 23 2018 - 05:22:04 EST


2018-01-22 10:16 GMT+01:00 Daniel Thompson <daniel.thompson@xxxxxxxxxx>:
> On Fri, Jan 19, 2018 at 02:52:49PM -0600, Rob Herring wrote:
>> On Wed, Jan 10, 2018 at 11:30:44PM +0100, Enric Balletbo i Serra wrote:
>> > The num-interpolated-steps property specifies the number of
>> > interpolated steps between each value of brightness-level table. This is
>> > useful for high resolution PWMs to not have to list out every possible
>> > value in the brightness-level array.
>> >
>> > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
>> > ---
>> > .../bindings/leds/backlight/pwm-backlight.txt | 21 +++++++++++++++++++++
>> > 1 file changed, 21 insertions(+)
>> >
>> > diff --git a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
>> > index 310810906613..605432c910c5 100644
>> > --- a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
>> > +++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
>> > @@ -21,6 +21,11 @@ Optional properties:
>> > and enabling the backlight using GPIO.
>> > - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
>> > and setting PWM value to 0.
>> > + - num-interpolated-steps: Number of interpolated steps between each value
>> > + of brightness-levels table. This way a high
>> > + resolution pwm duty cycle can be used without
>> > + having to list out every possible value in the
>> > + brightness-level array.
>> >
>> > [0]: Documentation/devicetree/bindings/pwm/pwm.txt
>> > [1]: Documentation/devicetree/bindings/gpio/gpio.txt
>> > @@ -39,3 +44,19 @@ Example:
>> > post-pwm-on-delay-ms = <10>;
>> > pwm-off-delay-ms = <10>;
>> > };
>> > +
>> > +Example using num-interpolation-steps:
>> > +
>> > + backlight {
>> > + compatible = "pwm-backlight";
>> > + pwms = <&pwm 0 5000000>;
>> > +
>> > + brightness-levels = <0 65535>;
>> > + num-interpolated-steps = <4096>;
>>
>> How does this make sense with only 2 defined levels other than having
>> fewer steps? I thought the purpose of this was to have a piecewise
>> linear curve.
>
> It's not wrong as such, this is how a device with a linear (or nearly
> linear) response could be compactly described.
>
> Nevertheless I agree! An example with a small but realistic curve
> would be better... we know that copy 'n paste exists so I'd rather
> see a simple curve than no curve.
>

Makes sense, I'll put a better example on next series. Thanks for the review.

- Enric

>
> Daniel.
>
>
>> > + default-brightness-level = <6>;
>>
>> Aren't valid values 0, 16, 32, 48, etc.?
>>
>> Rob