[PATCH] backlight: add led-backlight driver

Tony Lindgren tony at atomide.com
Wed Feb 19 19:45:40 UTC 2020


* Pavel Machek <pavel at ucw.cz> [200219 19:15]:
> From: Tomi Valkeinen <tomi.valkeinen at ti.com>
> 
> This patch adds a led-backlight driver (led_bl), which is similar to
> pwm_bl except the driver uses a LED class driver to adjust the
> brightness in the HW. Multiple LEDs can be used for a single backlight.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
> Acked-by: Pavel Machek <pavel at ucw.cz>
> Reviewed-by: Daniel Thompson <daniel.thompson at linaro.org>
> Acked-by: Lee Jones <lee.jones at linaro.org>
> Acked-by: Tony Lindgren <tony at atomide.com>
> Tested-by: Tony Lindgren <tony at atomide.com>
> Signed-off-by: Pavel Machek <pavel at ucw.cz>
> ---
>  drivers/video/backlight/Kconfig  |   7 ++
>  drivers/video/backlight/Makefile |   1 +
>  drivers/video/backlight/led_bl.c | 260 +++++++++++++++++++++++++++++++++++++++
>  3 files changed, 268 insertions(+)
>  create mode 100644 drivers/video/backlight/led_bl.c
> 
> Hi!
> 
> Here's the version of the driver I have. AFAICT
> default-brightness-level handling is ok, so does not need to be
> changed.
> 
> Lee, it would be easiest for me if you could apply it to your tree and
> push, but given enough time I can push it to Linus, too.

Oh you're using quoted-printable for patches.. Got it applied now,
and it still works. Below is also the related dts change that
I tested with.

Feel free to pick the dts change too, naturally that should
not be applied before the driver.

If you guys instead want me to pick these both into my fixes
branch, just let me know and I'll do the explaining why these
are needed as fixes. Basically we no longer have a way to enable
the LCD backlight for droid4 manually starting with v5.6-rc1
unlike earlier.

Regards,

Tony

8< ------------------
>From tony Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony at atomide.com>
Date: Wed, 19 Feb 2020 11:25:27 -0800
Subject: [PATCH] ARM: dts: droid4: Configure LED backlight for lm3532

With the LED backlight changes merged, we still need the dts configured
to have backlight working for droid4. Based on an earlier patch from
Pavel Machek <pavel at ucw.cz>, let's configure the backlight but update
the value range to be more usable.

We have a range of 256 register values split into 8 steps, so we can
generate the brightness levels backwards with:

$ for i in 0 1 2 3 4 5 6 7; do echo "255 - ${i} * (256 / 8)" | bc; done

To avoid more confusion why the LCD backlight is still not on, let's
also enable LED backlight as a loadable module for omap2plus_defconfig.

Cc: Merlijn Wajer <merlijn at wizzup.org>
Cc: Pavel Machek <pavel at ucw.cz>
Signed-off-by: Tony Lindgren <tony at atomide.com>
---
 arch/arm/boot/dts/motorola-mapphone-common.dtsi | 13 +++++++++++--
 arch/arm/configs/omap2plus_defconfig            |  1 +
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/motorola-mapphone-common.dtsi b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
--- a/arch/arm/boot/dts/motorola-mapphone-common.dtsi
+++ b/arch/arm/boot/dts/motorola-mapphone-common.dtsi
@@ -182,6 +182,14 @@ vibrator {
 		pwm-names = "enable", "direction";
 		direction-duty-cycle-ns = <10000000>;
 	};
+
+	backlight: backlight {
+		compatible = "led-backlight";
+
+		leds = <&backlight_led>;
+		brightness-levels = <31 63 95 127 159 191 223 255>;
+		default-brightness-level = <6>;
+	};
 };
 
 &dss {
@@ -205,6 +213,8 @@ lcd0: display {
 		vddi-supply = <&lcd_regulator>;
 		reset-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>;	/* gpio101 */
 
+		backlight = <&backlight>;
+
 		width-mm = <50>;
 		height-mm = <89>;
 
@@ -393,12 +403,11 @@ led-controller at 38 {
 		ramp-up-us = <1024>;
 		ramp-down-us = <8193>;
 
-		led at 0 {
+		backlight_led: led at 0 {
 			reg = <0>;
 			led-sources = <2>;
 			ti,led-mode = <0>;
 			label = ":backlight";
-			linux,default-trigger = "backlight";
 		};
 
 		led at 1 {
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -375,6 +375,7 @@ CONFIG_BACKLIGHT_GENERIC=m
 CONFIG_BACKLIGHT_PWM=m
 CONFIG_BACKLIGHT_PANDORA=m
 CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 CONFIG_LOGO=y
-- 
2.25.1


More information about the dri-devel mailing list