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 LT8912 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

drivers/gpu/drm/stm/drv.c

Video driver

drivers/gpu/drm/stm/dw_mipi_dsi-stm.c

DRM driver

drivers/gpu/drm/stm/lvds.c

LVDS driver

Device tree bindings and customization

The LTDC controller and MIPI DSI interface are defined in the CPU device tree file.

Definition of the LTDC and MIPI DSI

ConnectCore MP25 Development Kit device tree
dsi: dsi@48000000 {
	compatible = "st,stm32-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";
	feature-domains = <&rifsc STM32MP25_RIFSC_DSI_CMN_ID>;
	power-domains = <&CLUSTER_PD>;
	status = "disabled";
};

ltdc: display-controller@48010000 {
	compatible = "st,stm32-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>;
	feature-domains = <&rifsc STM32MP25_RIFSC_LTDC_CMN_ID>;
	power-domains = <&CLUSTER_PD>;
	status = "disabled";
};

Display options

You need additional kernel and device tree configurations depending on the video display that you want to use. Find more information on the following sub-topics:

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.