[PATCH] ARM: dts: stm32: Deduplicate DSI node

Alexandre TORGUE alexandre.torgue at foss.st.com
Tue Jul 11 02:01:09 PDT 2023


Hi Marek

On 6/1/23 01:10, Marek Vasut wrote:
> All boards using the DSI node duplicate the same pattern common pattern
> in board DTs, that pattern is ports with endpoint labels and the same
> in-SoC regulator connection. Move that common pattern into stm32mp157.dtsi
> instead.
> 
> The two boards which do define panel at 0 directly in the DSI bridge node now
> have #address-cells/#size-cells in their board DT instead of it being in
> stm32mp157.dtsi and activated incorrectly for all boards, even the ones
> which use e.g. another DSI-to-something bridge.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>



Applied on stm32-next.

Thanks.
Alex


> ---
> Cc: Alexandre Torgue <alexandre.torgue at foss.st.com>
> Cc: Conor Dooley <conor+dt at kernel.org>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
> Cc: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
> Cc: Raphael Gallais-Pou <raphael.gallais-pou at foss.st.com>
> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: devicetree at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-stm32 at st-md-mailman.stormreply.com
> ---
>   arch/arm/boot/dts/stm32mp157.dtsi             | 18 ++++++++++++
>   ...tm32mp157a-icore-stm32mp1-ctouch2-of10.dts | 24 ++++------------
>   .../stm32mp157a-icore-stm32mp1-edimm2.2.dts   | 28 ++++++-------------
>   arch/arm/boot/dts/stm32mp157c-dk2.dts         | 28 ++++++-------------
>   arch/arm/boot/dts/stm32mp157c-ev1.dts         | 28 ++++++-------------
>   5 files changed, 48 insertions(+), 78 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/stm32mp157.dtsi b/arch/arm/boot/dts/stm32mp157.dtsi
> index 5e733cd16ff9e..6197d878894de 100644
> --- a/arch/arm/boot/dts/stm32mp157.dtsi
> +++ b/arch/arm/boot/dts/stm32mp157.dtsi
> @@ -22,9 +22,27 @@ dsi: dsi at 5a000000 {
>   			reg = <0x5a000000 0x800>;
>   			clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>;
>   			clock-names = "pclk", "ref", "px_clk";
> +			phy-dsi-supply = <&reg18>;
>   			resets = <&rcc DSI_R>;
>   			reset-names = "apb";
>   			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port at 0 {
> +					reg = <0>;
> +					dsi_in: endpoint {
> +					};
> +				};
> +
> +				port at 1 {
> +					reg = <1>;
> +					dsi_out: endpoint {
> +					};
> +				};
> +			};
>   		};
>   	};
>   };
> diff --git a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts
> index 4279b26547dfd..df97e03d2a5ac 100644
> --- a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts
> +++ b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts
> @@ -46,26 +46,14 @@ panel_in_lvds: endpoint {
>   
>   &dsi {
>   	status = "okay";
> -	phy-dsi-supply = <&reg18>;
> -
> -	ports {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> +};
>   
> -		port at 0 {
> -			reg = <0>;
> -			dsi_in: endpoint {
> -				remote-endpoint = <&ltdc_ep0_out>;
> -			};
> -		};
> +&dsi_in {
> +	remote-endpoint = <&ltdc_ep0_out>;
> +};
>   
> -		port at 1 {
> -			reg = <1>;
> -			dsi_out: endpoint {
> -				remote-endpoint = <&bridge_in>;
> -			};
> -		};
> -	};
> +&dsi_out {
> +	remote-endpoint = <&bridge_in>;
>   };
>   
>   &i2c6 {
> diff --git a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts
> index efba542898207..f8e4043463964 100644
> --- a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts
> +++ b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts
> @@ -46,26 +46,14 @@ panel_out_bridge: endpoint {
>   
>   &dsi {
>   	status = "okay";
> -	phy-dsi-supply = <&reg18>;
> -
> -	ports {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> +};
>   
> -		port at 0 {
> -			reg = <0>;
> -			dsi_in_ltdc: endpoint {
> -				remote-endpoint = <&ltdc_out_dsi>;
> -			};
> -		};
> +&dsi_in {
> +	remote-endpoint = <&ltdc_out_dsi>;
> +};
>   
> -		port at 1 {
> -			reg = <1>;
> -			dsi_out_bridge: endpoint {
> -				remote-endpoint = <&bridge_in_dsi>;
> -			};
> -		};
> -	};
> +&dsi_out {
> +	remote-endpoint = <&bridge_in_dsi>;
>   };
>   
>   &i2c6 {
> @@ -88,7 +76,7 @@ ports {
>   			port at 0 {
>   				reg = <0>;
>   				bridge_in_dsi: endpoint {
> -					remote-endpoint = <&dsi_out_bridge>;
> +					remote-endpoint = <&dsi_out>;
>   					data-lanes = <1 2>;
>   				};
>   			};
> @@ -108,7 +96,7 @@ &ltdc {
>   
>   	port {
>   		ltdc_out_dsi: endpoint {
> -			remote-endpoint = <&dsi_in_ltdc>;
> +			remote-endpoint = <&dsi_in>;
>   		};
>   	};
>   };
> diff --git a/arch/arm/boot/dts/stm32mp157c-dk2.dts b/arch/arm/boot/dts/stm32mp157c-dk2.dts
> index 4bef2300ed7ca..510cca5acb79c 100644
> --- a/arch/arm/boot/dts/stm32mp157c-dk2.dts
> +++ b/arch/arm/boot/dts/stm32mp157c-dk2.dts
> @@ -34,26 +34,6 @@ &dsi {
>   	#address-cells = <1>;
>   	#size-cells = <0>;
>   	status = "okay";
> -	phy-dsi-supply = <&reg18>;
> -
> -	ports {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		port at 0 {
> -			reg = <0>;
> -			dsi_in: endpoint {
> -				remote-endpoint = <&ltdc_ep1_out>;
> -			};
> -		};
> -
> -		port at 1 {
> -			reg = <1>;
> -			dsi_out: endpoint {
> -				remote-endpoint = <&panel_in>;
> -			};
> -		};
> -	};
>   
>   	panel at 0 {
>   		compatible = "orisetech,otm8009a";
> @@ -70,6 +50,14 @@ panel_in: endpoint {
>   	};
>   };
>   
> +&dsi_in {
> +	remote-endpoint = <&ltdc_ep1_out>;
> +};
> +
> +&dsi_out {
> +	remote-endpoint = <&panel_in>;
> +};
> +
>   &i2c1 {
>   	touchscreen at 38 {
>   		compatible = "focaltech,ft6236";
> diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
> index 49ca94c19b02b..874770c997997 100644
> --- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
> +++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
> @@ -100,30 +100,10 @@ dcmi_0: endpoint {
>   };
>   
>   &dsi {
> -	phy-dsi-supply = <&reg18>;
>   	#address-cells = <1>;
>   	#size-cells = <0>;
>   	status = "okay";
>   
> -	ports {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		port at 0 {
> -			reg = <0>;
> -			dsi_in: endpoint {
> -				remote-endpoint = <&ltdc_ep0_out>;
> -			};
> -		};
> -
> -		port at 1 {
> -			reg = <1>;
> -			dsi_out: endpoint {
> -				remote-endpoint = <&dsi_panel_in>;
> -			};
> -		};
> -	};
> -
>   	panel at 0 {
>   		compatible = "raydium,rm68200";
>   		reg = <0>;
> @@ -140,6 +120,14 @@ dsi_panel_in: endpoint {
>   	};
>   };
>   
> +&dsi_in {
> +	remote-endpoint = <&ltdc_ep0_out>;
> +};
> +
> +&dsi_out {
> +	remote-endpoint = <&dsi_panel_in>;
> +};
> +
>   &ethernet0 {
>   	status = "okay";
>   	pinctrl-0 = <&ethernet0_rgmii_pins_a>;




More information about the linux-arm-kernel mailing list