Difference between revisions of "BackLight"
From ArmadeusWiki
m (→Introduction) |
(→Usage) |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
==Introduction== | ==Introduction== | ||
− | Backlight control is done through the i. | + | |
+ | Backlight control is done through the i.MX integrated backlight PWM (inside LCDC module). The output signal of this PWM is redirected to the CONTRAST pin of your LCD connector. | ||
+ | |||
In short the driver is mainly exporting a ''/sys'' interface to user space, allowing you to change the Duty Cycle of the PWM output signal and so the backlight intensity of the LCD. | In short the driver is mainly exporting a ''/sys'' interface to user space, allowing you to change the Duty Cycle of the PWM output signal and so the backlight intensity of the LCD. | ||
==Installation== | ==Installation== | ||
− | + | This driver is now installed by default on the standard Armadeus rootfs. | |
− | + | ||
− | + | ==Usage== | |
− | + | ||
+ | On your APF, load the module (not needed on [[APF6]] and [[OPOS6UL]]): | ||
+ | <pre class="apf"> | ||
# modprobe imx_bl | # modprobe imx_bl | ||
i.MX Backlight driver v0.X initialized. | i.MX Backlight driver v0.X initialized. | ||
+ | </pre> | ||
+ | |||
+ | * Depending on your platform, backlight interface may have a different name, so let's define an envt variable to ease further instructions: | ||
+ | {| border="1" cellpadding="10" cellspacing="0" summary="PWM usage depending on kernel version" class="wikitable" | ||
+ | |- style="background:#efefef;" align="center" | ||
+ | ! APF27/51/28 || APF6 || OPOS6UL | ||
+ | |----- | ||
+ | |||
+ | |<pre class="apf"> | ||
+ | export BACK_IF=imx-bl | ||
+ | </pre> | ||
+ | |||
+ | ||<pre class="apf"> | ||
+ | export BACK_IF=backlight_lcd | ||
+ | </pre> | ||
+ | |||
+ | ||<pre class="apf"> | ||
+ | export BACK_IF=lcd_backlight | ||
+ | </pre> | ||
+ | |||
+ | |} | ||
− | |||
All backlight controls are done through the ''/sys'' interface: | All backlight controls are done through the ''/sys'' interface: | ||
− | # ls /sys/class/backlight/ | + | <pre class="apf"> |
− | + | # ls /sys/class/backlight/$BACK_IF/ | |
actual_brightness max_brightness subsystem | actual_brightness max_brightness subsystem | ||
brightness power uevent | brightness power uevent | ||
+ | </pre> | ||
* To see the actual brightness: | * To see the actual brightness: | ||
− | # cat /sys/class/backlight/ | + | <pre class="apf"> |
+ | # cat /sys/class/backlight/$BACK_IF/actual_brightness | ||
+ | </pre> | ||
* To see the max allowed brightness: | * To see the max allowed brightness: | ||
− | # cat /sys/class/backlight/ | + | <pre class="apf"> |
− | * To change the brightness: | + | # cat /sys/class/backlight/$BACK_IF/max_brightness |
− | # echo | + | </pre> |
+ | * To change the brightness (X depends on previous allowed brightnesses): | ||
+ | <pre class="apf"> | ||
+ | # echo X > /sys/class/backlight/$BACK_IF/brightness | ||
+ | </pre> | ||
− | There is a small test script in ''target/linux/modules/backlight/test/'' | + | ===Examples=== |
+ | * There is a small test script (shell) in ''target/linux/modules/backlight/test/'' | ||
+ | * For a C/[[SDL]] example, take a look at ''target/demos/backlight_control/'' | ||
==Links== | ==Links== | ||
+ | |||
* [http://en.wikipedia.org/wiki/Pulse-width_modulation#Power_delivery How a PWM is working] | * [http://en.wikipedia.org/wiki/Pulse-width_modulation#Power_delivery How a PWM is working] | ||
* http://www.armadeus.com/wiki/index.php?title=FrameBuffer#Tips | * http://www.armadeus.com/wiki/index.php?title=FrameBuffer#Tips | ||
[[Category:Linux drivers]] | [[Category:Linux drivers]] |
Latest revision as of 23:17, 18 July 2017
This page will explain you how to configure and use the Linux driver controlling the BackLight of your LCD
Introduction
Backlight control is done through the i.MX integrated backlight PWM (inside LCDC module). The output signal of this PWM is redirected to the CONTRAST pin of your LCD connector.
In short the driver is mainly exporting a /sys interface to user space, allowing you to change the Duty Cycle of the PWM output signal and so the backlight intensity of the LCD.
Installation
This driver is now installed by default on the standard Armadeus rootfs.
Usage
On your APF, load the module (not needed on APF6 and OPOS6UL):
# modprobe imx_bl i.MX Backlight driver v0.X initialized.
- Depending on your platform, backlight interface may have a different name, so let's define an envt variable to ease further instructions:
APF27/51/28 | APF6 | OPOS6UL |
---|---|---|
export BACK_IF=imx-bl |
export BACK_IF=backlight_lcd |
export BACK_IF=lcd_backlight |
All backlight controls are done through the /sys interface:
# ls /sys/class/backlight/$BACK_IF/ actual_brightness max_brightness subsystem brightness power uevent
- To see the actual brightness:
# cat /sys/class/backlight/$BACK_IF/actual_brightness
- To see the max allowed brightness:
# cat /sys/class/backlight/$BACK_IF/max_brightness
- To change the brightness (X depends on previous allowed brightnesses):
# echo X > /sys/class/backlight/$BACK_IF/brightness
Examples
- There is a small test script (shell) in target/linux/modules/backlight/test/
- For a C/SDL example, take a look at target/demos/backlight_control/