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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@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@xxxxxxx>



Applied on stm32-next.

Thanks.
Alex


---
Cc: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>
Cc: Raphael Gallais-Pou <raphael.gallais-pou@xxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
---
  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@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@0 {
+					reg = <0>;
+					dsi_in: endpoint {
+					};
+				};
+
+				port@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@0 {
-			reg = <0>;
-			dsi_in: endpoint {
-				remote-endpoint = <&ltdc_ep0_out>;
-			};
-		};
+&dsi_in {
+	remote-endpoint = <&ltdc_ep0_out>;
+};
- port@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@0 {
-			reg = <0>;
-			dsi_in_ltdc: endpoint {
-				remote-endpoint = <&ltdc_out_dsi>;
-			};
-		};
+&dsi_in {
+	remote-endpoint = <&ltdc_out_dsi>;
+};
- port@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@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@0 {
-			reg = <0>;
-			dsi_in: endpoint {
-				remote-endpoint = <&ltdc_ep1_out>;
-			};
-		};
-
-		port@1 {
-			reg = <1>;
-			dsi_out: endpoint {
-				remote-endpoint = <&panel_in>;
-			};
-		};
-	};
panel@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@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@0 {
-			reg = <0>;
-			dsi_in: endpoint {
-				remote-endpoint = <&ltdc_ep0_out>;
-			};
-		};
-
-		port@1 {
-			reg = <1>;
-			dsi_out: endpoint {
-				remote-endpoint = <&dsi_panel_in>;
-			};
-		};
-	};
-
  	panel@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>;




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux