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

From: Rob Herring
Date: Fri Jan 19 2018 - 15:53:04 EST


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.

> + default-brightness-level = <6>;

Aren't valid values 0, 16, 32, 48, etc.?

Rob