[Letux-kernel] [Kernel] FYI: backlight pwm issues

Michael Mrozek EvilDragon at openpandora.org
Thu May 12 11:43:54 CEST 2016


Am Thu, 12 May 2016 11:08:58 +0200 hat "H. Nikolaus Schaller"
<hns at goldelico.com> geschrieben:

Ah, that explains the flickering I can see on the LCD (which I
mentioned to you in an email a week ago).

> > Am 11.05.2016 um 17:21 schrieb H. Nikolaus Schaller
> > <hns at goldelico.com>:
> > 
> > Just FYI, a known issue
> > (http://projects.goldelico.com/p/gta04-kernel/issues/689/):
> > 
> > there seems to be something wrong with the dmtimer pwm backlight
> > driver.
> > 
> > If we have brightness 10 (100%) the display panel backlight is
> > approx. half the intensity of setting the pin to gpio and "1".
> > 
> > This means max. backlight brightness does not permanently turn on
> > the pwm output.
> > 
> > I see the same effect on OMAP3 GTA04.
> > 
> > BR,
> > Nikolaus
> > 
> > New script to test backlight on Pyra in pwm or gpio mode:
> > 
> > To notice the difference, type:
> > /root/bl 1
> > /root/bl -g 1
> > 
> > #
> > # /root/bl: turn on/off backlight power
> > # -g: use gpio mode
> > # 1: turn on
> > # 0: turn off
> > #
> > # intensity can be controlled in non-gpio mode through
> > #    /sys/class/backlight/backlight/brightness
> > #
> > 
> > BL=/sys/class/backlight/backlight/bl_power	# just turn
> > completely on/off instead of writing backlight intensity ON=0
> > OFF=1
> > 
> > case $(cat /proc/device-tree/model) in
> > 	Pyra-Handheld* )
> > 		[ "$(which devmem2)" ] || apt-get install -y
> > --force-yes devmem2 if [ "$1" = -g ]
> > 			then
> > 			shift
> > 			devmem2 0x4a0028f6 h 0x011e
> > >/dev/null	# switch to gpio mode echo 190
> > >> /sys/class/gpio/export 2>/dev/null
> > 			echo out > /sys/class/gpio/gpio190/direction
> > 			BL=/sys/class/gpio/gpio190/value
> > 			ON=1
> > 			OFF=0
> > 		else
> > 			if [ -r /sys/class/gpio/gpio190 ]
> > 			then
> > 				echo in
> > > /sys/class/gpio/gpio190/direction echo 190
> > > > /sys/class/gpio/unexport 2>/dev/null
> > 			fi
> > 			devmem2 0x4a0028f6 h 0x0118
> > >/dev/null	# switch to timer9_pwm mode fi
> > 		;;
> > esac
> > 
> > if [ "$1" = 1 ]
> > then
> > 	echo $ON >$BL
> > else
> > 	echo $OFF >$BL
> > fi  
> 
> I did connect the oscilloscope today.
> 
> Here the PWM output with max backlight intensity:
> 
> 
> 
> With gpio = 1 it is a steady line.
> 
> Now the problem. Here is the current going through the LEDs:
> 
> 
> 
> So this means that the backlight converter needs approx. 1,5 ms
> startup time until it drives the full current through the LEDs.
> 
> What is the problem: we run the PWM @ 500 Hz which is just 2 ms. So
> we get an average current of less than 50%.
> 
> Solutions:
> a) change our .dts to use e.g. 100 Hz backlight (we shouldn't go
> below or it might be possible to see stroboscope effects with panel
> refresh) b) fix pwm driver so that max_brightness is a steady "1"
> output
> 
> BR,
> Nikolaus
> 


-- 
Mit freundlichen Grüßen,

Michael Mrozek

-----------------------
OpenPandora GmbH
Geschäftsführer: Michael Mrozek

Schäffbräustr. 11
85049 Ingolstadt
Deutschland
Tel.: 0841 / 990 5548
http://www.openpandora.de/
HRB 4879, Amtsgericht Ingolstadt
-----------------------
eMail: mrozek at openpandora.org


More information about the Letux-kernel mailing list