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

From: Daniel Thompson
Date: Mon Jan 22 2018 - 04:16:27 EST


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.


Daniel.


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