Backlight control signal
The ConnectCore 8X SBC Pro uses MIPI-DSI0 PWM as the backlight for the LVDS0 and MIPI-DSI1 PWM as the backlight for the LVDS1.
Kernel configuration
You can manage the backlight support through the following kernel configuration options:
-
Low-level backlight controls (
CONFIG_BACKLIGHT_CLASS_DEVICE
) -
Generic PWM-based backlight driver (
CONFIG_BACKLIGHT_PWM
)
These options are enabled as built-in on the default ConnectCore 8X kernel configuration file.
Besides these, you must also enable support for the PWM. See Pulse-width Modulation (PWM).
Device tree bindings and customization
The PWM backlight interface bindings is documented at
Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt
.
LVDS backlight
This device tree excerpt shows the three blocks that configure the backlight signal:
-
A backlight entry that uses the generic PWM backlight driver, defines a period for the signal and a table of predefined brightness levels.
-
The enabling of the PWM interface.
-
The IOMUX of the pad, to make it behave as PWM signal (this IOMUX is driven by the display driver).
lvds_backlight0: lvds_backlight@0 {
compatible = "pwm-backlight";
pwms = <&pwm_mipi_lvds0 0 100000 0>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <80>;
power-supply = <®_5v_display>;
status = "okay";
};
...
&pwm_mipi_lvds0 {
status = "okay";
};
...
pinctrl_lvds0: lvds0grp {
fsl,pins = <
/* LVDS0 touch interrupt */
SC_P_QSPI0B_DATA2_LSIO_GPIO3_IO20 0x06000020
/* LVDS0 PWM backlight */
SC_P_MIPI_DSI0_GPIO0_00_MIPI_DSI0_PWM0_OUT 0x00000020
>;
};