[PATCH v2] arm64: dts: mediatek: mt8183: Add missing endpoint IDs to display graph

Otto Pflüger otto.pflueger at abscue.de
Tue Jan 6 02:11:12 PST 2026


The endpoint IDs in the display graph are expected to match the
associated display path number, i.e. all endpoints connected to
mmsys_ep_main must have reg = <0> and all endpoints connected to
mmsys_ep_ext must have reg = <1>.

Add the missing ID to all endpoints in the display graph, based on
mt8365.dtsi as an existing example that does this correctly.

Fixes: e72d63fa0563 ("arm64: dts: mediatek: mt8183: Migrate to display controller OF graph")
Reported-by: Evans Jahja <evansjahja13 at gmail.com>
Closes: https://lore.kernel.org/linux-mediatek/CAAq5pW9o3itC0G16LnJO7KMAQ_XoqXUpB=cuJ_7e3-H11zKd5Q@mail.gmail.com/
Tested-by: Chen-Yu Tsai <wenst at chromium.org>
Signed-off-by: Otto Pflüger <otto.pflueger at abscue.de>
---
Changes in v2:
- Change property order to follow device tree coding style
- Link to v1: https://lore.kernel.org/r/20251206-mt8183-display-graph-v1-1-a30e54481f28@abscue.de
---
 arch/arm64/boot/dts/mediatek/mt8183.dtsi | 146 ++++++++++++++++++++++++++-----
 1 file changed, 122 insertions(+), 24 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 4e20a8f2eb25803057955401a7737c7f029a1424..db86e2bd0c7bd61236a9eef16e803374810d3d1a 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -1755,14 +1755,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					ovl0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ovl0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&mmsys_ep_main>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					ovl0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ovl0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&ovl_2l0_in>;
 					};
 				};
@@ -1784,14 +1792,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					ovl_2l0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ovl_2l0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&ovl0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					ovl_2l0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ovl_2l0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&rdma0_in>;
 					};
 				};
@@ -1813,14 +1829,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					ovl_2l1_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ovl_2l1_in: endpoint at 1 {
+						reg = <1>;
 						remote-endpoint = <&mmsys_ep_ext>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					ovl_2l1_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ovl_2l1_out: endpoint at 1 {
+						reg = <1>;
 						remote-endpoint = <&rdma1_in>;
 					};
 				};
@@ -1843,14 +1867,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					rdma0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					rdma0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&ovl_2l0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					rdma0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					rdma0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&color0_in>;
 					};
 				};
@@ -1873,14 +1905,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					rdma1_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					rdma1_in: endpoint at 1 {
+						reg = <1>;
 						remote-endpoint = <&ovl_2l1_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					rdma1_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					rdma1_out: endpoint at 1 {
+						reg = <1>;
 						remote-endpoint = <&dpi_in>;
 					};
 				};
@@ -1902,14 +1942,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					color0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					color0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&rdma0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					color0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					color0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&ccorr0_in>;
 					};
 				};
@@ -1930,14 +1978,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					ccorr0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ccorr0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&color0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					ccorr0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					ccorr0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&aal0_in>;
 					};
 				};
@@ -1958,14 +2014,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					aal0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					aal0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&ccorr0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					aal0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					aal0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&gamma0_in>;
 					};
 				};
@@ -1986,14 +2050,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					gamma0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					gamma0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&aal0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					gamma0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					gamma0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&dither0_in>;
 					};
 				};
@@ -2014,14 +2086,22 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					dither0_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dither0_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&gamma0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					dither0_out: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dither0_out: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&dsi_in>;
 					};
 				};
@@ -2048,14 +2128,23 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					dsi_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dsi_in: endpoint at 0 {
+						reg = <0>;
 						remote-endpoint = <&dither0_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					dsi_out: endpoint { };
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dsi_out: endpoint at 0 {
+						reg = <0>;
+					};
 				};
 			};
 		};
@@ -2077,14 +2166,23 @@ ports {
 
 				port at 0 {
 					reg = <0>;
-					dpi_in: endpoint {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dpi_in: endpoint at 1 {
+						reg = <1>;
 						remote-endpoint = <&rdma1_out>;
 					};
 				};
 
 				port at 1 {
 					reg = <1>;
-					dpi_out: endpoint { };
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					dpi_out: endpoint at 1 {
+						reg = <1>;
+					};
 				};
 			};
 		};

---
base-commit: 6cd6c12031130a349a098dbeb19d8c3070d2dfbe
change-id: 20251206-mt8183-display-graph-506183c68b3b

Best regards,
-- 
Otto Pflüger <otto.pflueger at abscue.de>




More information about the Linux-mediatek mailing list