From 9f8db9e1217848026f1ab1ea0c663bc5e0339111 Mon Sep 17 00:00:00 2001 From: "Philip, Avinash" Date: Fri, 7 Sep 2012 10:24:48 +1000 Subject: [PATCH] drivers/video/backlight/pwm_bl.c: add device tree support for Low Threshold Brightness Low Threshold Brightness should be configured to have a linear relation in brightness scale. This patch adds device tree support for low threshold brightness as optional one for pwm_backlight. Signed-off-by: Philip, Avinash Cc: Grant Likely Cc: Mark Brown Cc: Florian Tobias Schandinat Cc: Rob Herring Signed-off-by: Andrew Morton --- .../video/backlight/pwm-backlight.txt | 21 +++++++++++++++++++ drivers/video/backlight/pwm_bl.c | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt index 1e4fc727f3b1..689c7d25f750 100644 --- a/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt +++ b/Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt @@ -14,6 +14,8 @@ Required properties: Optional properties: - pwm-names: a list of names for the PWM devices specified in the "pwms" property (see PWM binding[0]) + - low_threshold_brightness: brightness threshold low level. (get linear + scales in brightness in low end of brightness levels) [0]: Documentation/devicetree/bindings/pwm/pwm.txt @@ -26,3 +28,22 @@ Example: brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; }; + +Example for brightness_threshold_level: + + backlight { + compatible = "pwm-backlight"; + pwms = <&pwm 0 50000>; + + brightness-levels = <0 4 8 16 32 64 128 255>; + default-brightness-level = <6>; + low_threshold_brightness = <50>; + }; +}; +Note: +Low threshold support is required to have linear brightness scale from +0 to max. For some panels, backlight absent on low end of brightness +scale. So support for Low Threshold been required. So that the scale of +brightness changed from Low Threshold to Max in scales defined in +brightness-levels. In this example 20% maximum brightness scale should +be required to turn on panel backlight. diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index 995f0164c9b0..4965408502df 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -143,6 +143,11 @@ static int pwm_backlight_parse_dt(struct device *dev, data->dft_brightness = value; data->max_brightness--; + + ret = of_property_read_u32(node, "low_threshold_brightness", + &value); + if (!ret) + data->lth_brightness = value; } /* -- 2.39.5