Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1726147

[RFC 1/2] dt-bindings: pwm-backlight: add brightness-levels-scale property

From Enric Balletbo i Serra <enric.balletbo@collabora.com>
Newsgroups linux.kernel
Subject [RFC 1/2] dt-bindings: pwm-backlight: add brightness-levels-scale property
Date 2017-09-04 17:40 +0200
Message-ID <um1DI-7e8-31@gated-at.bofh.it> (permalink)
References <um1DI-7e8-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Brightness is not perceived linearly; rather, it typically follows some
kind of parabolic curve. We can support this by skipping values in the
brightness-levels array in a pseudo-quadratic curve. Typically we used
less than 256 levels, which yields no more than 1KiB of memory in our
device tree. But, we've noticed that on some devices the backlight
performs much smoother at lower ranges if we have more than 256-levels of
granularity. On kevin device, for example, if we support all 64K, that
will waste us at least 256KiB in our device tree.

Let's avoid to waste memory and have a huge table of numbers in our device
tree of numbers by adding a brightness-levels-scale property to let the
driver compute the brightness levels based on one algorithm and their
property parameters.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---
 .../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 764db86..11c5583 100644
--- a/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
+++ b/Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
@@ -17,6 +17,16 @@ Optional properties:
                "pwms" property (see PWM binding[0])
   - enable-gpios: contains a single GPIO specifier for the GPIO which enables
                   and disables the backlight (see GPIO binding[1])
+  - brightness-levels-scale: this can be used instead of 'brightness-levels',
+                             to represent the perceived luminance. So rather
+                             than specifying 'brightness-levels = <0
+                             1 2 ... 65535>', one can simply say
+                             'brightness-levels-scale = <255 65535>', where the
+                             first number is the max number of levels and the
+                             second number is the max PWM value that represent a
+                             100% duty cycle (brightest). The result is a
+                             correction table for PWM values to create linear
+                             brightness based on the CIE1931 algorithm.
 
 [0]: Documentation/devicetree/bindings/pwm/pwm.txt
 [1]: Documentation/devicetree/bindings/gpio/gpio.txt
@@ -33,3 +43,14 @@ Example:
 		power-supply = <&vdd_bl_reg>;
 		enable-gpios = <&gpio 58 0>;
 	};
+
+	backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pwm 0 5000000>;
+
+		brightness-levels-scale = <255 65535>;
+		default-brightness-level = <128>;
+
+		power-supply = <&vdd_bl_reg>;
+		enable-gpios = <&gpio 58 0>;
+	};
-- 
2.9.3

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC 0/2] backlight: pwm_bl: support linear brightness to human eye Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-09-04 17:40 +0200
  [RFC 1/2] dt-bindings: pwm-backlight: add brightness-levels-scale property Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-09-04 17:40 +0200
    Re: [RFC 1/2] dt-bindings: pwm-backlight: add brightness-levels-scale  property Daniel Thompson <daniel.thompson@linaro.org> - 2017-09-05 13:10 +0200
    Re: [RFC 1/2] dt-bindings: pwm-backlight: add brightness-levels-scale property Guenter Roeck <groeck@google.com> - 2017-09-05 15:50 +0200
  Re: [RFC 0/2] backlight: pwm_bl: support linear brightness to human  eye Daniel Thompson <daniel.thompson@linaro.org> - 2017-09-05 13:10 +0200
  Re: [RFC 0/2] backlight: pwm_bl: support linear brightness to human  eye Daniel Thompson <daniel.thompson@linaro.org> - 2017-09-05 13:10 +0200
    Re: [RFC 0/2] backlight: pwm_bl: support linear brightness to human eye "Jingoo Han" <jingoohan1@gmail.com> - 2017-09-05 18:40 +0200
      Re: [RFC 0/2] backlight: pwm_bl: support linear brightness to human eye Doug Anderson <dianders@google.com> - 2017-09-07 20:10 +0200
        Re: [RFC 0/2] backlight: pwm_bl: support linear brightness to human  eye Daniel Thompson <daniel.thompson@linaro.org> - 2017-09-08 13:20 +0200
          Re: [RFC 0/2] backlight: pwm_bl: support linear brightness to human eye Doug Anderson <dianders@google.com> - 2017-09-08 19:40 +0200

csiph-web