cancel
Showing results for 
Search instead for 
Did you mean: 

LTDC RGB Panel Not Displaying Correctly on STM32MP257

Steven-LIN
Visitor

Hi all,

I would like to ask for your support regarding an issue I’m facing when trying to bring up a 24-bit RGB panel using the LTDC interface.

When using an LVDS panel, the display works correctly and powers on as expected. However, when switching to an RGB panel, I’m unable to get any display output — the screen remains blank.
I have already disabled the LVDS configuration when switching to RGB, but it had no effect.

Additionally, I’ve tried adjusting the CK_KER_LTDC (MHz) setting in the Clock Configuration.
When I check clk_summary, I can confirm that the LTDC clock has been updated. However, this change causes the backlight to turn off, and the system is unable to detect the panel.

Even after modifying the clock-frequency property in the Device Tree for the LTDC node, the change does not take effect.
Moreover, these clock changes appear to interfere with I2S audio playback via aplay — audio becomes unstable or stops working entirely.

Could you please advise how I might resolve this issue or correctly configure the LTDC clock and RGB panel interface?

For your reference, please find the following details:

  • Device Tree Configuration: (see below)

/ {
    panel_rgb:panel-rgb{
		compatible = "panel-dpi";
		power-supply = <&scmi_v3v3>;
		enable-gpios = <&gpiof 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
		backlight = <&panel_lvds_backlight>;
		default-on;
		status = "okay";
		width-mm = <108>;
		height-mm = <65>;
		data-mapping = "rgb24";
		// bus-format = <MEDIA_BUS_FMT_RBG888_1X24>;
		panel-timing{
			clock-frequency = <33000000>;
			hactive = <800>;
			vactive = <480>;
			hfront-porch = <183>;
			hback-porch = <46>;
			vback-porch = <15>;
			vfront-porch = <22>;
			hsync-len = <30>;
			vsync-len = <10>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <1>;
			pixelclk-active = <0>;
		};

		port{

			ltdc_panel_in:endpoint{
				remote-endpoint = <&ltdc_ep1_out>;
			};
		};
	};
&ltdc {
	status = "okay";

	/* USER CODE BEGIN ltdc */
	default-on;
	port{
		#address-cells = <1>;
		#size-cells = <0>;
		ltdc_ep1_out:endpoint@0{
			reg = <0>;
			remote-endpoint = <&ltdc_panel_in>;
		};
	};
	/* USER CODE END ltdc */
};
&lvds {
	status = "disabled";

	/* USER CODE BEGIN lvds */
	
	default-on;
	vdd-supply = <&scmi_vddcore>;
	vdda18-supply = <&scmi_v1v8>;
	/* USER CODE END lvds */
};
  • The following image shows the command output.
  • StevenLIN_0-1750152920053.png
  • .ioc File: (attached)

If there’s any additional information or logs I should provide, I’d be happy to do so.

Thank you in advance for your support.

0 REPLIES 0