STM32MP257DAI3 – LT8912B MIPI-DSI to HDMI Bridge Configuration
Hello STMicroelectronics Community,
I am working with an STM32MP257DAI3 processor running OpenSTLinux with Linux kernel 6.6.11.
I am trying to configure an LT8912B MIPI-DSI to HDMI bridge instead of the ADV7535.
and My openstlinux version version openstlinux-6.6-yocto-scarthgap-mpu-v26.
I referred to the Linux Device Tree binding documentation:
"Documentation/devicetree/bindings/display/bridge/lontium,lt8912b.yaml"
I have configured the HDMI connector, MIPI-DSI interface, and LT8912B bridge in my device tree. However, after booting the board with the `st-image-weston` image, the '/sys/class/drm/' directory is empty.
1. Device Tree Configuration
HDMI Connector Node
hdmi: connector {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <<8912_out>;
};
};
};
MIPI-DSI Node
&dsi {
vdd-supply = <&scmi_vddcore>;
vdda18-supply = <&scmi_v1v8>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dsi_in: endpoint {
remote-endpoint = <<dc_ep0_out>;
};
};
port@1 {
reg = <1>;
dsi_out1: endpoint {
remote-endpoint = <<8912_in>;
};
};
};
};
I2C3 Node and LT8912B Bridge
&i2c3 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&i2c3_pins_a>;
pinctrl-1 = <&i2c3_sleep_pins_a>;
i2c-scl-rising-time-ns = <57>;
i2c-scl-falling-time-ns = <7>;
clock-frequency = <400000>;
status = "okay";
/* Spare DMA channels for other usage */
/delete-property/ dmas;
/delete-property/ dma-names;
lt8912: hdmi-bridge@48 {
compatible = "lontium,lt8912b";
reg = <0x48>;
reset-gpios = <&gpiog 15 GPIO_ACTIVE_LOW>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lt8912_in: endpoint {
remote-endpoint = <&dsi_out1>;
data-lanes = <1 2>;
};
};
port@1 {
reg = <1>;
lt8912_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
The property is intended to represent a two-lane MIPI-DSI connection. I would appreciate confirmation that the endpoint configuration is correct for the STM32MP257 DSI controller and the LT8912B bridge driver.
2. Current Issue
I am using the `st-image-weston` image. After the board boots, I execute:
root@stm32mp25-evalaa-11-22-33-44-56:~#ls -l /sys/class/drm/
However, the directory is empty, and I cannot find the expected DRM card or display connector entries.
3. Assistance Required
Could you please help me identify the correct configuration and debugging procedure for this setup?
Specifically, I would like to know:
1. Is the above Device Tree configuration correct for connecting the STM32MP257 DSI output to the LT8912B bridge and then to an HDMI connector?
2. Does the OpenSTLinux kernel version 6.6.1 include support for the LT8912B bridge, or do I need to enable additional kernel configurations or integrate a driver?
3. Are any additional Device Tree properties, clocks, power supplies, reset controls, or endpoint definitions required?
4. What kernel configuration options and runtime checks should I verify to ensure that the LT8912B, DSI controller, and LTDC DRM pipeline are properly initialized?
5. What are the recommended debugging steps when `/sys/class/drm/` is empty after booting `st-image-weston`?
My objective is to establish a working STM32MP257DAI3 → MIPI-DSI → LT8912B → HDMI display pipeline under OpenSTLinux.
Any guidance, reference Device Tree examples, or recommended debugging steps would be greatly appreciated.
Thank you for your support.
Best regards
