sunxi: display: Use PWM to drive backlight where applicable
authorHans de Goede <hdegoede@redhat.com>
Fri, 19 Aug 2016 13:25:41 +0000 (15:25 +0200)
committerHans de Goede <hdegoede@redhat.com>
Fri, 26 Aug 2016 14:58:37 +0000 (16:58 +0200)
commit421c98d7d2ebf929debf907e75ec04419cf07dbe
tree066fff4164e808f9f502aaed7b7793eef541b753
parent8d463c5a32f7d404ee1a0cd68d4746e2ebab9e22
sunxi: display: Use PWM to drive backlight where applicable

When the backlight's pwm input is connected to a pwm output of the SoC,
actually use pwm to drive the backlight.

The mean reason for doing this is to fix the backlight turning off
for aprox. 1 second while the kernel is booting. This is caused by
the kernel actually using pwm to drive the backlight, so that it
can dim the backlight. First the pwm driver loads and switches the
pinmux for the pin driving the backlight's pwm input to the pwm
controller. Then about 1s later the actual backlight driver loads
and tells the pwm driver to actually update the pwm settings, which
have a power-on-reset value of "off".

An additional advantage is that this allows us to initatiate the
backlight at 80%, which is the kernel default, avoiding a brightness
change while the kernel loads.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed by: Peter Korsgaard <peter@korsgaard.com>
arch/arm/include/asm/arch-sunxi/cpu_sun4i.h
arch/arm/include/asm/arch-sunxi/gpio.h
arch/arm/include/asm/arch-sunxi/pwm.h [new file with mode: 0644]
drivers/video/sunxi_display.c