Apalis imx6 backlight control on BSP5

Hi there,
We are trying to use the Toradex 7-inch capacitive touch screen with Ixora carrier board and apalis imx6. We have encountered 2 issues:

  1. We noticed that, during the kernel booting, the screen would blink first and then become stable. To workaround this issue, on BSP2.8, we can configure the device-tree to remove the brightness settings to keep the backlight off during the initial state and turn on the backlight later by service. However, on BSP5.7.3, we tried to configure both device-tree and device-tree-overlay, but nothing seems to prevent the backlight from turning on during the initial state. Is there any way to keep the backlight off during the early kernel boot or fix the screen blinking issue?
  2. We noticed that there seems to be a minimum backlight clamping which made it impossible to completely turn off the backlight. Is it possible to override such restriction?

Any comments would be really appreciated. Thanks!


I managed to find a solution to disable the backlight on kernel boot. Will test to see if this method is causing any other glitches but I would share my approach in case someone might have the same issue.

  1. Keep the backlight device tree node disabled. It is enabled by default in apalis-imx6_lcd-lt161010_overlay. So you can either create your own overlay for the LCD or modify the original .dts file to disable the backlight node.
  2. Create a device tree overlay to configure the &iomuxc with something like:

#include “imx6q-pinfunc.h”
&iomuxc {
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_my_gpios>;

pinctrl_my_gpios: my_gpio_grp {
fsl,pins = <
	MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0xb1   // Backlight disable


Other pin configurations might also work but at least “0xb1” or “0x61” works for me.

  1. When Linux boots, disable the backlight service:

systemctl mask systemd-backlight@backlight:backlight.service

  1. Write a systemd service to set the backlight enable gpio or modify the PWM duty cycle for the brightness.

Hope this helps!