[PATCH] ARM: dts: stm32: Deduplicate DSI node
Marek Vasut
marex at denx.de
Wed May 31 16:10:44 PDT 2023
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>
---
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 = <®18>;
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 = <®18>;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+};
- port at 0 {
- reg = <0>;
- dsi_in: endpoint {
- remote-endpoint = <<dc_ep0_out>;
- };
- };
+&dsi_in {
+ remote-endpoint = <<dc_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 = <®18>;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+};
- port at 0 {
- reg = <0>;
- dsi_in_ltdc: endpoint {
- remote-endpoint = <<dc_out_dsi>;
- };
- };
+&dsi_in {
+ remote-endpoint = <<dc_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 @@ <dc {
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 = <®18>;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port at 0 {
- reg = <0>;
- dsi_in: endpoint {
- remote-endpoint = <<dc_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 = <<dc_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 = <®18>;
#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 = <<dc_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 = <<dc_ep0_out>;
+};
+
+&dsi_out {
+ remote-endpoint = <&dsi_panel_in>;
+};
+
ðernet0 {
status = "okay";
pinctrl-0 = <ðernet0_rgmii_pins_a>;
--
2.39.2
More information about the linux-arm-kernel
mailing list