[PATCH v4 13/13] arm64: dts: st: enable display support on stm32mp257f-ev1 board

Raphael Gallais-Pou posted 13 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v4 13/13] arm64: dts: st: enable display support on stm32mp257f-ev1 board
Posted by Raphael Gallais-Pou 1 month, 1 week ago
Enable the following IPs on stm32mp257f-ev1 in order to get display:
   * LTDC
   * LVDS
   * WSVGA LVDS panel (1024x600)
   * Panel LVDS backlight as GPIO backlight
   * ILI2511 i2c touchscreen

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
---
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 79 ++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
index 836b1958ce65fb72c99d634a92af3efaf9844d76..2958ad413b0675575d84942e193a16f80197b88e 100644
--- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
+++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
@@ -86,6 +86,43 @@ mm_ospi1: mm-ospi@60000000 {
 			no-map;
 		};
 	};
+
+	panel_lvds: display {
+		compatible = "edt,etml0700z9ndha", "panel-lvds";
+		enable-gpios = <&gpiog 15 GPIO_ACTIVE_HIGH>;
+		backlight = <&panel_lvds_backlight>;
+		power-supply = <&scmi_v3v3>;
+		status = "okay";
+
+		width-mm = <156>;
+		height-mm = <92>;
+		data-mapping = "vesa-24";
+
+		panel-timing {
+			clock-frequency = <54000000>;
+			hactive = <1024>;
+			vactive = <600>;
+			hfront-porch = <150>;
+			hback-porch = <150>;
+			hsync-len = <21>;
+			vfront-porch = <24>;
+			vback-porch = <24>;
+			vsync-len = <21>;
+		};
+
+		port {
+			lvds_panel_in: endpoint {
+				remote-endpoint = <&lvds_out0>;
+			};
+		};
+	};
+
+	panel_lvds_backlight: backlight {
+		compatible = "gpio-backlight";
+		gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
+		default-on;
+		status = "okay";
+	};
 };
 
 &arm_wdt {
@@ -183,6 +220,15 @@ imx335_ep: endpoint {
 			};
 		};
 	};
+
+	ili2511: ili2511@41 {
+		compatible = "ilitek,ili251x";
+		reg = <0x41>;
+		interrupt-parent = <&gpioi>;
+		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+		reset-gpios = <&gpiog 14 GPIO_ACTIVE_LOW>;
+		status = "okay";
+	};
 };
 
 &i2c8 {
@@ -230,6 +276,39 @@ timer {
 	};
 };
 
+&ltdc {
+	status = "okay";
+
+	port {
+		ltdc_ep0_out: endpoint {
+			remote-endpoint = <&lvds_in>;
+		};
+	};
+};
+
+&lvds {
+	status = "okay";
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+			lvds_in: endpoint {
+				remote-endpoint = <&ltdc_ep0_out>;
+			};
+		};
+
+		port@1 {
+			reg = <1>;
+			lvds_out0: endpoint {
+				remote-endpoint = <&lvds_panel_in>;
+			};
+		};
+	};
+};
+
 &rtc {
 	status = "okay";
 };

-- 
2.25.1
Re: [PATCH v4 13/13] arm64: dts: st: enable display support on stm32mp257f-ev1 board
Posted by Yannick FERTRE 1 month, 1 week ago
Hi Raphael,

Thanks for the patch.

Acked-by: Yannick Fertre <yannick.fertre@foss.st.com>

Le 21/08/2025 à 13:09, Raphael Gallais-Pou a écrit :
> Enable the following IPs on stm32mp257f-ev1 in order to get display:
>     * LTDC
>     * LVDS
>     * WSVGA LVDS panel (1024x600)
>     * Panel LVDS backlight as GPIO backlight
>     * ILI2511 i2c touchscreen
>
> Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
> ---
>   arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 79 ++++++++++++++++++++++++++++++
>   1 file changed, 79 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
> index 836b1958ce65fb72c99d634a92af3efaf9844d76..2958ad413b0675575d84942e193a16f80197b88e 100644
> --- a/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
> +++ b/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
> @@ -86,6 +86,43 @@ mm_ospi1: mm-ospi@60000000 {
>   			no-map;
>   		};
>   	};
> +
> +	panel_lvds: display {
> +		compatible = "edt,etml0700z9ndha", "panel-lvds";
> +		enable-gpios = <&gpiog 15 GPIO_ACTIVE_HIGH>;
> +		backlight = <&panel_lvds_backlight>;
> +		power-supply = <&scmi_v3v3>;
> +		status = "okay";
> +
> +		width-mm = <156>;
> +		height-mm = <92>;
> +		data-mapping = "vesa-24";
> +
> +		panel-timing {
> +			clock-frequency = <54000000>;
> +			hactive = <1024>;
> +			vactive = <600>;
> +			hfront-porch = <150>;
> +			hback-porch = <150>;
> +			hsync-len = <21>;
> +			vfront-porch = <24>;
> +			vback-porch = <24>;
> +			vsync-len = <21>;
> +		};
> +
> +		port {
> +			lvds_panel_in: endpoint {
> +				remote-endpoint = <&lvds_out0>;
> +			};
> +		};
> +	};
> +
> +	panel_lvds_backlight: backlight {
> +		compatible = "gpio-backlight";
> +		gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
> +		default-on;
> +		status = "okay";
> +	};
>   };
>   
>   &arm_wdt {
> @@ -183,6 +220,15 @@ imx335_ep: endpoint {
>   			};
>   		};
>   	};
> +
> +	ili2511: ili2511@41 {
> +		compatible = "ilitek,ili251x";
> +		reg = <0x41>;
> +		interrupt-parent = <&gpioi>;
> +		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
> +		reset-gpios = <&gpiog 14 GPIO_ACTIVE_LOW>;
> +		status = "okay";
> +	};
>   };
>   
>   &i2c8 {
> @@ -230,6 +276,39 @@ timer {
>   	};
>   };
>   
> +&ltdc {
> +	status = "okay";
> +
> +	port {
> +		ltdc_ep0_out: endpoint {
> +			remote-endpoint = <&lvds_in>;
> +		};
> +	};
> +};
> +
> +&lvds {
> +	status = "okay";
> +
> +	ports {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		port@0 {
> +			reg = <0>;
> +			lvds_in: endpoint {
> +				remote-endpoint = <&ltdc_ep0_out>;
> +			};
> +		};
> +
> +		port@1 {
> +			reg = <1>;
> +			lvds_out0: endpoint {
> +				remote-endpoint = <&lvds_panel_in>;
> +			};
> +		};
> +	};
> +};
> +
>   &rtc {
>   	status = "okay";
>   };
>