The STMicroelectronics STM32MP25 provides:
-
a 24-bit RGB LCD-TFT display interface (LTDC).
-
a MIPI DSI host interface connected internally to the LTDC.
-
a native LVDS interface.
On the ConnectCore MP25:
-
The parallel LCD interface is available on the LGA pads, multiplexed with other functions.
-
The MIPI DSI interface is available on the LGA pads.
-
The LVDS interface is available on the LGA pads multiplexed with other functions.
On the ConnectCore MP25 Development Kit:
-
The MIPI DSI interface is routed to the Lontium LT8912B MIPI-to-HDMI bridge (connector J32) and to a MIPI display (connector J27).
-
The LVDS interface is available on the LVDS connector multiplexed with other functions.
Kernel configuration
You can manage the video support through the following kernel configuration options:
-
STM LCD controller driver (
CONFIG_DRM_STM
) -
STM MIPI DSI DRM driver (
CONFIG_DRM_STM_DSI
) -
STM LVDS DRM driver (
CONFIG_DRM_STM_LVDS
)
These options are enabled as built-in on the default ConnectCore MP25 kernel configuration file.
Kernel driver
The driver for the video interface is located at:
File | Description |
---|---|
Video driver |
|
DSI DRM driver |
|
LVDS DRM driver |
Device tree bindings and customization
The LCD-TFT display controller is documented at
Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml
.
The STM DSI host controller is documented at
Documentation/devicetree/bindings/display/st,stm32-dsi.yaml
.
The LVDS display interface transmitter is documented at
Documentation/devicetree/bindings/display/st,stm32-lvds.yaml
.
The LTDC, MIPI DSI and LVDS interfaces are defined in the CPU device tree file.
Definition of the LTDC, MIPI DSI and LVDS
dsi: dsi@48000000 {
compatible = "st,stm32mp25-dsi";
reg = <0x48000000 0x800>;
#clock-cells = <0>;
clocks = <&rcc CK_BUS_DSI>, <&rcc CK_KER_DSIPHY>,
<&rcc CK_KER_LTDC>;
clock-names = "pclk", "ref", "px_clk";
resets = <&rcc DSI_R>;
reset-names = "apb";
access-controllers = <&rifsc 81>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
lvds: lvds@48060000 {
#clock-cells = <0>;
compatible = "st,stm32mp25-lvds";
reg = <0x48060000 0x2000>;
clocks = <&rcc CK_BUS_LVDS>, <&rcc CK_KER_LVDSPHY>, <&syscfg 0>;
clock-names = "pclk", "ref", "pixclk";
resets = <&rcc LVDS_R>;
access-controllers = <&rifsc 84>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
ltdc: display-controller@48010000 {
compatible = "st,stm32mp25-ltdc";
reg = <0x48010000 0x400>;
st,syscon = <&syscfg>;
interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&rcc CK_BUS_LTDC>, <&rcc CK_KER_LTDC>;
clock-names = "bus", "lcd";
resets = <&rcc LTDC_R>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
access-controllers = <&rifsc 80>;
access-controller-names = "cmn";
l1l2 {
access-controllers = <&rifsc 119>;
access-controller-names = "l1l2";
};
l3 {
access-controllers = <&rifsc 120>;
access-controller-names = "l3";
};
rot {
access-controllers = <&rifsc 121>;
access-controller-names = "rot";
};
};
Display options
Use the video interface
For Wayland images, a Weston desktop launches after Linux starts.
Play a video
To play a video using Gstreamer:
# gst-launch-1.0 playbin uri=file:///run/media/sda1/big_buck_bunny_480p_h264.mp4
# gst-play-1.0 /run/media/sda1/big_buck_bunny_480p_h264.mp4
The default image does not include a video file. |