From: Philip, Avinash Date: Thu, 13 Sep 2012 01:01:07 +0000 (+1000) Subject: drivers/video/backlight/pwm_bl.c: add device tree support for Low Threshold Brightness X-Git-Tag: next-20120917~4^2~98 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8b3c6a8dd2eabb029dcd49775f567744eaf445d1;p=karo-tx-linux.git 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 --- 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; } /*