devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Fix several DTB validation issues
@ 2025-06-27 15:16 Diederik de Haas
  2025-06-27 15:16 ` [PATCH 1/8] arm64: dts: rockchip: Refactor DSI nodes on px30 boards Diederik de Haas
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

This patch set to fix several DTB validation issues consists of 2 parts:
1) dsi refactoring
2) various low-hanging fruit

ad 1) The display/rockchip/rockchip,dw-mipi-dsi.yaml binding had:
- #address-cells
- #size-cells

My guess is that those properties were added for panel(s) which could
be connected. While convenient, it's not a property of the DSI
controller (in the SoC). And caused DTB validation issues when a panel
was not connected to the board. So add the #address/#size-cells
properties to the board dts[i] file where there is a panel and then
remove the properties from the SoC dtsi file ... and then from the
binding file as well.

Another part of the DSI refactoring had to do with the declaration of
endpoints in which various properties got redefined ... to the same
values they had in the SoC dsi node. The SoC dsi node already defined
the structure where each port got a label/phandle. That allows for a
simplification of the endpoint by referencing that label/phandle.

ad 2)
There were a number of issues which were obvious to me how to fix, so
I fixed those as well

My changes were based on yesterday's v6.17-armsoc/dts64 branch:
7f9509791507 ("arm64: dts: rockchip: add DTs for Firefly ROC-RK3588S-PC")

Then applied the following patches:
86491c2b99e5 ("dt-bindings: pinctrl: rockchip: increase max amount of device functions")
6f446bbe412a ("dt-bindings: gpu: mali-utgard: Add Rockchip RK3528 compatible")
ab9be0b75af5 ("dt-bindings: display: himax-hx8394: Add Huiling hl055fhav028c")
8358102806c6 ("dt-bindings: power: rockchip: Add support for RK3528")
233eda069994 ("dt-bindings: rockchip: pmu: Add compatible for RK3528")

And then validated it with W=1 using dtschema-2025.6.1.
The validation log file sizes:
- base: 99.8 KiB
- dsi: 82.1 KiB
- low-hanging-fruit: 68.9 KiB

I then checked whether dmesg wouldn't indicate problem on these boards:
- Rock64 (rk3328)
- RockPro64 (rk3399)
- PineTab2 (rk3566)

Even with removing timestamps there were quite some differences, but
that seems related to different boots (and thus the exact order in which
things are probed/configured. But I didn't spot difference due to this
patch set.

I don't have any px30 or rk3399-gru-* based boards, so I couldn't test
with those.


I also identified some other items which could reduce the DTB
validation 'noise' substantially:

"failed to match any schema with compatible" errors:

- 'mps,mp8859': regulator/mp8859.txt
- 'realtek,rt5651': sound/rt5651.txt
- 'rockchip,rk3368-mailbox': mailbox/rockchip-mailbox.txt
- 'rockchip,rk3399-gru-sound': sound/rockchip,rk3399-gru-sound.txt
- 'ti,tsc2007': input/touchscreen/tsc2007.txt

Other issues where a (small?) fix may help a lot:

px30:
- /isp@ff4a0000/ports: graph node has single child node 'port@0',
    #address-cells/#size-cells are not necessary
- /syscon@ff140000/lvds/ports/port@0: graph node has single child node
    'endpoint@0', #address-cells/#size-cells are not necessary
- /dsi@ff450000/ports/port@0: graph node has single child node
    'endpoint@0', #address-cells/#size-cells are not necessary

rk3399:
- /usb@fe800000: node has a unit name, but no reg or ranges property
- /usb@fe900000: node has a unit name, but no reg or ranges property

Cheers,
  Diederik

Diederik de Haas (8):
  arm64: dts: rockchip: Refactor DSI nodes on px30 boards
  arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  dt-bindings: display: rockchip,dw-mipi-dsi: Drop address/size cells
  arm64: dts: rockchip: Simplify VOP port definition on rk3328
  arm64: dts: rockchip: Simplify edp endpoints on several rk3399 boards
  arm64: dts: rockchip: Fix LCD panel port on rk3566-pinetab2
  arm64: dts: rockchip: Drop unneeded address+size-cells on px30
  arm64: dts: rockchip: Drop regulator-compatible property on rk3399

 .../rockchip/rockchip,dw-mipi-dsi.yaml        |  6 ----
 .../rockchip/px30-cobra-ltk050h3146w-a2.dts   |  2 ++
 .../dts/rockchip/px30-cobra-ltk050h3146w.dts  |  2 ++
 .../dts/rockchip/px30-cobra-ltk050h3148w.dts  |  2 ++
 .../dts/rockchip/px30-cobra-ltk500hd1829.dts  |  2 ++
 arch/arm64/boot/dts/rockchip/px30-evb.dts     |  2 ++
 .../rockchip/px30-pp1516-ltk050h3146w-a2.dts  |  2 ++
 .../dts/rockchip/px30-pp1516-ltk050h3148w.dts |  2 ++
 arch/arm64/boot/dts/rockchip/px30.dtsi        |  6 ----
 .../dts/rockchip/rk3326-anbernic-rg351m.dtsi  |  2 ++
 .../dts/rockchip/rk3326-gameforce-chi.dts     |  2 ++
 .../boot/dts/rockchip/rk3326-odroid-go.dtsi   |  2 ++
 arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  6 +---
 arch/arm64/boot/dts/rockchip/rk3399-base.dtsi |  4 ---
 .../dts/rockchip/rk3399-gru-chromebook.dtsi   | 15 +++-------
 .../boot/dts/rockchip/rk3399-gru-scarlet.dtsi | 30 ++++++++-----------
 .../boot/dts/rockchip/rk3399-hugsun-x99.dts   |  2 --
 .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 15 +++-------
 .../dts/rockchip/rk3399-pinephone-pro.dts     |  2 ++
 .../rk3399-puma-haikou-video-demo.dtso        | 12 ++++----
 .../boot/dts/rockchip/rk3399-rock-4c-plus.dts |  2 --
 .../dts/rockchip/rk3399-rockpro64-screen.dtso | 21 ++++---------
 .../rockchip/rk3399-sapphire-excavator.dts    | 16 +++-------
 .../boot/dts/rockchip/rk3566-pinetab2.dtsi    |  6 ++--
 24 files changed, 62 insertions(+), 101 deletions(-)

-- 
2.50.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/8] arm64: dts: rockchip: Refactor DSI nodes on px30 boards
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 15:16 ` [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards Diederik de Haas
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

The #address-cells and #size-cells properties are not useful on the DSI
controller node; they are only useful/required on ports and panel(s).
So remove them from the controller node and add them where actually
needed on the various px30 based boards, which includes rk3326.

This fixes the following DTB validation warnings:

  unnecessary #address-cells/#size-cells without "ranges",
  "dma-ranges" or child "reg" property

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w-a2.dts  | 2 ++
 arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w.dts     | 2 ++
 arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3148w.dts     | 2 ++
 arch/arm64/boot/dts/rockchip/px30-cobra-ltk500hd1829.dts     | 2 ++
 arch/arm64/boot/dts/rockchip/px30-evb.dts                    | 2 ++
 arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dts | 2 ++
 arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3148w.dts    | 2 ++
 arch/arm64/boot/dts/rockchip/px30.dtsi                       | 2 --
 arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi     | 2 ++
 arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts        | 2 ++
 arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi           | 2 ++
 11 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w-a2.dts b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w-a2.dts
index 1d26164be7b8..a31c61c8f148 100644
--- a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w-a2.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w-a2.dts
@@ -12,6 +12,8 @@ / {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w.dts b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w.dts
index 82c6acdb4fae..a3c6edfdb37c 100644
--- a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3146w.dts
@@ -12,6 +12,8 @@ / {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3148w.dts b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3148w.dts
index 94449132df38..9b5eff392dfa 100644
--- a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3148w.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk050h3148w.dts
@@ -12,6 +12,8 @@ / {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk500hd1829.dts b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk500hd1829.dts
index d7b639e7ccab..36b7cae49e31 100644
--- a/arch/arm64/boot/dts/rockchip/px30-cobra-ltk500hd1829.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-cobra-ltk500hd1829.dts
@@ -16,6 +16,8 @@ aliases {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/px30-evb.dts b/arch/arm64/boot/dts/rockchip/px30-evb.dts
index bfd724b73c9a..85d1642eb9be 100644
--- a/arch/arm64/boot/dts/rockchip/px30-evb.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-evb.dts
@@ -124,6 +124,8 @@ &display_subsystem {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	ports {
diff --git a/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dts b/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dts
index b71929bcb33e..932721ffd470 100644
--- a/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dts
@@ -12,6 +12,8 @@ / {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3148w.dts b/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3148w.dts
index a9bd5936c701..70adf091371c 100644
--- a/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3148w.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3148w.dts
@@ -12,6 +12,8 @@ / {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index 0cad83c5d5fe..5034ad8019a8 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -1137,8 +1137,6 @@ dsi: dsi@ff450000 {
 		resets = <&cru SRST_MIPIDSI_HOST_P>;
 		reset-names = "apb";
 		rockchip,grf = <&grf>;
-		#address-cells = <1>;
-		#size-cells = <0>;
 		status = "disabled";
 
 		ports {
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi b/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi
index 150fadcb0b3c..54395a40b087 100644
--- a/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi
@@ -118,6 +118,8 @@ &display_subsystem {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	ports {
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts b/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
index 10e6ab724ac4..4d306085646c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
@@ -322,6 +322,8 @@ &display_subsystem {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	internal_display: panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi b/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
index 446a1a6c12e7..bf4554eff47d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
@@ -220,6 +220,8 @@ &display_subsystem {
 };
 
 &dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	ports {
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
  2025-06-27 15:16 ` [PATCH 1/8] arm64: dts: rockchip: Refactor DSI nodes on px30 boards Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 16:10   ` Quentin Schulz
  2025-06-29  0:32   ` kernel test robot
  2025-06-27 15:16 ` [PATCH 3/8] dt-bindings: display: rockchip,dw-mipi-dsi: Drop address/size cells Diederik de Haas
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

The #address-cells and #size-cells properties are not useful on the DSI
controller nodes; they are only useful/required on ports and panel(s).
So remove them from the controller node and add them where actually
needed on the various rk3399 based boards.

Next to that, there were several (exact) redefinitions of nodes which
are already present in rk3399-base.dtsi to add a mipi_out endpoint.
Simplify that by referencing the mipi_out phandle and add the endpoint
to that, which allows the removeal of the ports redefinition.

And fix 1 instance where the mipi_out referenced node was not sorted
correctly.

This fixes the following DTB validation warnings:

  unnecessary #address-cells/#size-cells without "ranges",
  "dma-ranges" or child "reg" property

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 arch/arm64/boot/dts/rockchip/rk3399-base.dtsi |  4 ---
 .../boot/dts/rockchip/rk3399-gru-scarlet.dtsi | 30 ++++++++-----------
 .../dts/rockchip/rk3399-pinephone-pro.dts     |  2 ++
 .../rk3399-puma-haikou-video-demo.dtso        | 12 ++++----
 .../dts/rockchip/rk3399-rockpro64-screen.dtso | 21 ++++---------
 5 files changed, 26 insertions(+), 43 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
index 9d5f5b083e3c..4dcceb9136b7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
@@ -2071,8 +2071,6 @@ mipi_dsi: dsi@ff960000 {
 		resets = <&cru SRST_P_MIPI_DSI0>;
 		reset-names = "apb";
 		rockchip,grf = <&grf>;
-		#address-cells = <1>;
-		#size-cells = <0>;
 		status = "disabled";
 
 		ports {
@@ -2112,8 +2110,6 @@ mipi_dsi1: dsi@ff968000 {
 		resets = <&cru SRST_P_MIPI_DSI1>;
 		reset-names = "apb";
 		rockchip,grf = <&grf>;
-		#address-cells = <1>;
-		#size-cells = <0>;
 		#phy-cells = <0>;
 		status = "disabled";
 
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi
index 5e068377a0a2..100c22af7265 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi
@@ -627,18 +627,10 @@ &mipi_dphy_rx0 {
 };
 
 &mipi_dsi {
-	status = "okay";
 	clock-master;
-
-	ports {
-		mipi_out: port@1 {
-			reg = <1>;
-
-			mipi_out_panel: endpoint {
-				remote-endpoint = <&mipi_in_panel>;
-			};
-		};
-	};
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
 
 	mipi_panel: panel@0 {
 		/* 2 different panels are used, compatibles are in dts files */
@@ -673,15 +665,17 @@ mipi1_in_panel: endpoint {
 
 &mipi_dsi1 {
 	status = "okay";
+};
 
-	ports {
-		mipi1_out: port@1 {
-			reg = <1>;
+&mipi_out {
+	mipi_out_panel: endpoint {
+		remote-endpoint = <&mipi_in_panel>;
+	};
+};
 
-			mipi1_out_panel: endpoint {
-				remote-endpoint = <&mipi1_in_panel>;
-			};
-		};
+&mipi1_out {
+	mipi1_out_panel: endpoint {
+		remote-endpoint = <&mipi1_in_panel>;
 	};
 };
 
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 909ed14035f7..fe32937a2d16 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -464,6 +464,8 @@ &io_domains {
 
 &mipi_dsi {
 	clock-master;
+	#address-cells = <1>;
+	#size-cells = <0>;
 	status = "okay";
 
 	panel@0 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
index 0377ec860d35..d28880b8dd44 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
@@ -124,12 +124,6 @@ pca9670: gpio@27 {
 	};
 };
 
-&mipi_out {
-	mipi_out_panel: endpoint {
-		remote-endpoint = <&mipi_in_panel>;
-	};
-};
-
 &mipi_dsi {
 	#address-cells = <1>;
 	#size-cells = <0>;
@@ -151,6 +145,12 @@ mipi_in_panel: endpoint {
 	};
 };
 
+&mipi_out {
+	mipi_out_panel: endpoint {
+		remote-endpoint = <&mipi_in_panel>;
+	};
+};
+
 &pinctrl {
 	pca9670 {
 		pca9670_resetn: pca9670-resetn {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso
index b1f4ab22b99c..3a68c5f7c5ff 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso
@@ -47,25 +47,11 @@ touch: touchscreen@5d {
 };
 
 &mipi_dsi {
+	clock-master;
 	#address-cells = <1>;
 	#size-cells = <0>;
-
-	clock-master;
 	status = "okay";
 
-	ports {
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		mipi_out: port@1 {
-			reg = <1>;
-
-			mipi_out_panel: endpoint {
-				remote-endpoint = <&mipi_in_panel>;
-			};
-		};
-	};
-
 	mipi_panel: panel@0 {
 		compatible = "feiyang,fy07024di26a30d";
 		reg = <0>;
@@ -81,6 +67,11 @@ mipi_in_panel: endpoint {
 	};
 };
 
+&mipi_out {
+	mipi_out_panel: endpoint {
+		remote-endpoint = <&mipi_in_panel>;
+	};
+}
 &pwm0 {
 	status = "okay";
 };
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/8] dt-bindings: display: rockchip,dw-mipi-dsi: Drop address/size cells
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
  2025-06-27 15:16 ` [PATCH 1/8] arm64: dts: rockchip: Refactor DSI nodes on px30 boards Diederik de Haas
  2025-06-27 15:16 ` [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 15:16 ` [PATCH 4/8] arm64: dts: rockchip: Simplify VOP port definition on rk3328 Diederik de Haas
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

When the dw-mipi-dsi binding was initially added in commit
a20d86e7f964 ("Documentation: dt-bindings: Add bindings for rk3288 DW MIPI DSI driver")
the #address-cells and #size-cells were added as required properties.

When the binding was converted to yaml format in commit
0dac2102cf6b ("dt-bindings: display: rockchip: convert dw_mipi_dsi_rockchip.txt to yaml")
those properties were demoted to optional and removed from the binding
example.

As for the compatibles:
- rockchip,px30-mipi-dsi      removed in this patch set
- rockchip,rk3128-mipi-dsi    never used
- rockchip,rk3288-mipi-dsi    added (invalid); later removed [1]
- rockchip,rk3399-mipi-dsi    removed in this patch set
- rockchip,rk3568-mipi-dsi    never used
- rockchip,rv1126-mipi-dsi    proposed (invalid); never accepted [2]

[1] 282e2e078ba5 ("ARM: dts: rockchip: Remove #address/#size-cells from rk3288 mipi_dsi")
[2] https://lore.kernel.org/all/20230731110012.2913742-12-jagan@edgeble.ai/

The #address-cells and #size-cells are useful (and required) in the
ports node and for panel(s), but those properties are declared in their
schemas already. Now that there are no remaining users, remove these
properties from the Rockchip specific extensions of the Synopsys
DesignWare MIPI DSI host controller.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 .../bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml     | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml
index ccd71c5324af..0881e82deb11 100644
--- a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml
@@ -58,12 +58,6 @@ properties:
   power-domains:
     maxItems: 1
 
-  "#address-cells":
-    const: 1
-
-  "#size-cells":
-    const: 0
-
 required:
   - compatible
   - clocks
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/8] arm64: dts: rockchip: Simplify VOP port definition on rk3328
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
                   ` (2 preceding siblings ...)
  2025-06-27 15:16 ` [PATCH 3/8] dt-bindings: display: rockchip,dw-mipi-dsi: Drop address/size cells Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 15:16 ` [PATCH 5/8] arm64: dts: rockchip: Simplify edp endpoints on several rk3399 boards Diederik de Haas
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

When there's only 1 endpoint, there is no need for a unit-address and
removing that allows removing of related properties as well.

This fixes the following DTB validation warnings:

  graph node has single child node 'endpoint@0',
  #address-cells/#size-cells are not necessary

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 arch/arm64/boot/dts/rockchip/rk3328.dtsi | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 7d992c3c01ce..6438c969f9d7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -731,11 +731,7 @@ vop: vop@ff370000 {
 		status = "disabled";
 
 		vop_out: port {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			vop_out_hdmi: endpoint@0 {
-				reg = <0>;
+			vop_out_hdmi: endpoint {
 				remote-endpoint = <&hdmi_in_vop>;
 			};
 		};
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 5/8] arm64: dts: rockchip: Simplify edp endpoints on several rk3399 boards
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
                   ` (3 preceding siblings ...)
  2025-06-27 15:16 ` [PATCH 4/8] arm64: dts: rockchip: Simplify VOP port definition on rk3328 Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 15:16 ` [PATCH 6/8] arm64: dts: rockchip: Fix LCD panel port on rk3566-pinetab2 Diederik de Haas
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

The only thing actually added here is a single endpoint on edp_out,
which is already defined in rk3399-base.dtsi, so it's simpler to just
reference that phandle, which allows the removal of several properties.

This fixes the following DTB validation warnings:

  graph node has single child node 'endpoint@0',
  #address-cells/#size-cells are not necessary

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 .../boot/dts/rockchip/rk3399-gru-chromebook.dtsi | 15 ++++-----------
 .../boot/dts/rockchip/rk3399-pinebook-pro.dts    | 15 ++++-----------
 .../dts/rockchip/rk3399-sapphire-excavator.dts   | 16 ++++------------
 3 files changed, 12 insertions(+), 34 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
index a9ea4b0daa04..9d07353df52c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
@@ -250,18 +250,11 @@ &edp {
 	 */
 	assigned-clocks = <&cru PCLK_EDP>;
 	assigned-clock-rates = <24000000>;
+};
 
-	ports {
-		edp_out: port@1 {
-			reg = <1>;
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			edp_out_panel: endpoint@0 {
-				reg = <0>;
-				remote-endpoint = <&panel_in_edp>;
-			};
-		};
+&edp_out {
+	edp_out_panel: endpoint {
+		remote-endpoint = <&panel_in_edp>;
 	};
 };
 
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
index 5473070823cb..5a8551d9ffe4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
@@ -404,18 +404,11 @@ &edp {
 	pinctrl-names = "default";
 	pinctrl-0 = <&edp_hpd>;
 	status = "okay";
+};
 
-	ports {
-		edp_out: port@1 {
-			reg = <1>;
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			edp_out_panel: endpoint@0 {
-				reg = <0>;
-				remote-endpoint = <&panel_in_edp>;
-			};
-		};
+&edp_out {
+	edp_out_panel: endpoint {
+		remote-endpoint = <&panel_in_edp>;
 	};
 };
 
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
index fdaa8472b7a7..a4ceafe6dd7a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
@@ -142,21 +142,13 @@ sdio_pwrseq: sdio-pwrseq {
 
 &edp {
 	status = "okay";
+};
 
-	ports {
-		edp_out: port@1 {
-			reg = <1>;
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			edp_out_panel: endpoint@0 {
-				reg = <0>;
-				remote-endpoint = <&panel_in_edp>;
-			};
-		};
+&edp_out {
+	edp_out_panel: endpoint {
+		remote-endpoint = <&panel_in_edp>;
 	};
 };
-
 &i2c1 {
 	i2c-scl-rising-time-ns = <300>;
 	i2c-scl-falling-time-ns = <15>;
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6/8] arm64: dts: rockchip: Fix LCD panel port on rk3566-pinetab2
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
                   ` (4 preceding siblings ...)
  2025-06-27 15:16 ` [PATCH 5/8] arm64: dts: rockchip: Simplify edp endpoints on several rk3399 boards Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 15:16 ` [PATCH 7/8] arm64: dts: rockchip: Drop unneeded address+size-cells on px30 Diederik de Haas
  2025-06-27 15:16 ` [PATCH 8/8] arm64: dts: rockchip: Drop regulator-compatible property on rk3399 Diederik de Haas
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

The MIPI DSI connector on the PineTab2 only has 1 port with 1 endpoint,
so drop the unit-address properties.

While at it, move 'rotation' property to its proper sorting position.

This fixes the following DTB validation warnings:

  node has a unit name, but no reg or ranges property

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi
index 3473b1eef5cd..d0e38412d56a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi
@@ -282,11 +282,11 @@ lcd: panel@0 {
 		reg = <0>;
 		backlight = <&backlight>;
 		enable-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
-		rotation = <90>;
 		power-supply = <&vcc_3v3>;
+		rotation = <90>;
 
-		port@0 {
-			panel_in_dsi: endpoint@0 {
+		port {
+			panel_in_dsi: endpoint {
 				remote-endpoint = <&dsi0_out_con>;
 			};
 		};
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 7/8] arm64: dts: rockchip: Drop unneeded address+size-cells on px30
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
                   ` (5 preceding siblings ...)
  2025-06-27 15:16 ` [PATCH 6/8] arm64: dts: rockchip: Fix LCD panel port on rk3566-pinetab2 Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  2025-06-27 15:16 ` [PATCH 8/8] arm64: dts: rockchip: Drop regulator-compatible property on rk3399 Diederik de Haas
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

On nodes with compatible "rockchip,px30-usb2phy-grf", the #address-cells
and #size-cells are required and consequently their child nodes should
have unit addresses. That is not the case for the px30-pmugrf and
px30-grf nodes, so remove them there.

This fixes the following DTB validation warnings:

  unnecessary #address-cells/#size-cells without "ranges",
  "dma-ranges" or child "reg" property

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index 5034ad8019a8..46f64cd33b9b 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -351,8 +351,6 @@ power-domain@PX30_PD_GPU {
 	pmugrf: syscon@ff010000 {
 		compatible = "rockchip,px30-pmugrf", "syscon", "simple-mfd";
 		reg = <0x0 0xff010000 0x0 0x1000>;
-		#address-cells = <1>;
-		#size-cells = <1>;
 
 		pmu_io_domains: io-domains {
 			compatible = "rockchip,px30-pmu-io-voltage-domain";
@@ -453,8 +451,6 @@ gic: interrupt-controller@ff131000 {
 	grf: syscon@ff140000 {
 		compatible = "rockchip,px30-grf", "syscon", "simple-mfd";
 		reg = <0x0 0xff140000 0x0 0x1000>;
-		#address-cells = <1>;
-		#size-cells = <1>;
 
 		io_domains: io-domains {
 			compatible = "rockchip,px30-io-voltage-domain";
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 8/8] arm64: dts: rockchip: Drop regulator-compatible property on rk3399
  2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
                   ` (6 preceding siblings ...)
  2025-06-27 15:16 ` [PATCH 7/8] arm64: dts: rockchip: Drop unneeded address+size-cells on px30 Diederik de Haas
@ 2025-06-27 15:16 ` Diederik de Haas
  7 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Dragan Simic, Quentin Schulz, Johan Jonker, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel, Diederik de Haas

The regulator-compatible property has never existed in the
regulator/fcs,fan53555.yaml binding, so drop it.

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
 arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts   | 2 --
 arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts | 2 --
 2 files changed, 4 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
index 81c4fcb30f39..352c8efb37e0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
@@ -211,7 +211,6 @@ &i2c0 {
 	vdd_cpu_b: syr827@40 {
 		compatible = "silergy,syr827";
 		reg = <0x40>;
-		regulator-compatible = "fan53555-reg";
 		pinctrl-0 = <&vsel1_pin>;
 		regulator-name = "vdd_cpu_b";
 		regulator-min-microvolt = <712500>;
@@ -229,7 +228,6 @@ regulator-state-mem {
 	vdd_gpu: syr828@41 {
 		compatible = "silergy,syr828";
 		reg = <0x41>;
-		regulator-compatible = "fan53555-reg";
 		pinctrl-0 = <&vsel2_pin>;
 		regulator-name = "vdd_gpu";
 		regulator-min-microvolt = <712500>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
index 15da5c80d25d..962b8b231c96 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
@@ -421,7 +421,6 @@ vdd_cpu_b: regulator@40 {
 		compatible = "silergy,syr827";
 		reg = <0x40>;
 		fcs,suspend-voltage-selector = <1>;
-		regulator-compatible = "fan53555-reg";
 		pinctrl-0 = <&vsel1_gpio>;
 		vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
 		regulator-name = "vdd_cpu_b";
@@ -440,7 +439,6 @@ vdd_gpu: regulator@41 {
 		compatible = "silergy,syr828";
 		reg = <0x41>;
 		fcs,suspend-voltage-selector = <1>;
-		regulator-compatible = "fan53555-reg";
 		pinctrl-0 = <&vsel2_gpio>;
 		vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
 		regulator-name = "vdd_gpu";
-- 
2.50.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-27 15:16 ` [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards Diederik de Haas
@ 2025-06-27 16:10   ` Quentin Schulz
  2025-06-27 16:52     ` Diederik de Haas
  2025-06-29  0:32   ` kernel test robot
  1 sibling, 1 reply; 17+ messages in thread
From: Quentin Schulz @ 2025-06-27 16:10 UTC (permalink / raw)
  To: Diederik de Haas, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner
  Cc: Dragan Simic, Johan Jonker, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel

Hi Diederik,

On 6/27/25 5:16 PM, Diederik de Haas wrote:
> The #address-cells and #size-cells properties are not useful on the DSI
> controller nodes; they are only useful/required on ports and panel(s).
> So remove them from the controller node and add them where actually
> needed on the various rk3399 based boards.
> 
> Next to that, there were several (exact) redefinitions of nodes which
> are already present in rk3399-base.dtsi to add a mipi_out endpoint.
> Simplify that by referencing the mipi_out phandle and add the endpoint
> to that, which allows the removeal of the ports redefinition.
> 
> And fix 1 instance where the mipi_out referenced node was not sorted
> correctly.
> 
> This fixes the following DTB validation warnings:
> 
>    unnecessary #address-cells/#size-cells without "ranges",
>    "dma-ranges" or child "reg" property
> 

Too many unrelated changes in this commit, please split into multiple 
commits.

I could identify:

- moving address-cells/size-cells from SoC.dtsi to board dts(i)s,
- reordering properties to better match DT coding style 
https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node
- use phandle to directly access ports,
- reorder DT node to better match DT coding style 
https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-nodes

The change for RK3399 Puma Haikou Video Demo DTSO is fine for me.

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-27 16:10   ` Quentin Schulz
@ 2025-06-27 16:52     ` Diederik de Haas
  2025-06-27 18:25       ` Heiko Stübner
  0 siblings, 1 reply; 17+ messages in thread
From: Diederik de Haas @ 2025-06-27 16:52 UTC (permalink / raw)
  To: Quentin Schulz, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner
  Cc: Dragan Simic, Johan Jonker, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2287 bytes --]

Hi Quentin,

Thanks for taking a look.

On Fri Jun 27, 2025 at 6:10 PM CEST, Quentin Schulz wrote:
> On 6/27/25 5:16 PM, Diederik de Haas wrote:
>> The #address-cells and #size-cells properties are not useful on the DSI
>> controller nodes; they are only useful/required on ports and panel(s).
>> So remove them from the controller node and add them where actually
>> needed on the various rk3399 based boards.
>> 
>> Next to that, there were several (exact) redefinitions of nodes which
>> are already present in rk3399-base.dtsi to add a mipi_out endpoint.
>> Simplify that by referencing the mipi_out phandle and add the endpoint
>> to that, which allows the removeal of the ports redefinition.
>> 
>> And fix 1 instance where the mipi_out referenced node was not sorted
>> correctly.
>> 
>> This fixes the following DTB validation warnings:
>> 
>>    unnecessary #address-cells/#size-cells without "ranges",
>>    "dma-ranges" or child "reg" property
>> 
>
> Too many unrelated changes in this commit, please split into multiple 
> commits.
>
> I could identify:
>
> - moving address-cells/size-cells from SoC.dtsi to board dts(i)s,
> - reordering properties to better match DT coding style 
> https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node
> - use phandle to directly access ports,
> - reorder DT node to better match DT coding style 
> https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-nodes

I initially had it as several commits, but that resulted in (f.e.) 1
issue being fixed, but 1 (or more) others would pop up.
Those were then fixed in follow-up commits, but I assumed I'd get Rob's
bot screaming at me for introducing new warnings (first).

And as they all relate(d) to fixing the dsi node, I then choose to
combine them (but still separated by SoC).
IMO there are several ways to organize the commits and each would have
their pros and cons, so I 'settled' for this arrangement.

So I prefer to wait for other people's opinion first before reorganizing
the commits again (if there's a different consensus).

> The change for RK3399 Puma Haikou Video Demo DTSO is fine for me.

Thanks :)

Cheers,
  Diederik

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-27 16:52     ` Diederik de Haas
@ 2025-06-27 18:25       ` Heiko Stübner
  2025-06-28  8:57         ` Diederik de Haas
  0 siblings, 1 reply; 17+ messages in thread
From: Heiko Stübner @ 2025-06-27 18:25 UTC (permalink / raw)
  To: Quentin Schulz, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Diederik de Haas
  Cc: Dragan Simic, Johan Jonker, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel

Am Freitag, 27. Juni 2025, 18:52:08 Mitteleuropäische Sommerzeit schrieb Diederik de Haas:
> Hi Quentin,
> 
> Thanks for taking a look.
> 
> On Fri Jun 27, 2025 at 6:10 PM CEST, Quentin Schulz wrote:
> > On 6/27/25 5:16 PM, Diederik de Haas wrote:
> >> The #address-cells and #size-cells properties are not useful on the DSI
> >> controller nodes; they are only useful/required on ports and panel(s).
> >> So remove them from the controller node and add them where actually
> >> needed on the various rk3399 based boards.
> >> 
> >> Next to that, there were several (exact) redefinitions of nodes which
> >> are already present in rk3399-base.dtsi to add a mipi_out endpoint.
> >> Simplify that by referencing the mipi_out phandle and add the endpoint
> >> to that, which allows the removeal of the ports redefinition.
> >> 
> >> And fix 1 instance where the mipi_out referenced node was not sorted
> >> correctly.
> >> 
> >> This fixes the following DTB validation warnings:
> >> 
> >>    unnecessary #address-cells/#size-cells without "ranges",
> >>    "dma-ranges" or child "reg" property
> >> 
> >
> > Too many unrelated changes in this commit, please split into multiple 
> > commits.
> >
> > I could identify:
> >
> > - moving address-cells/size-cells from SoC.dtsi to board dts(i)s,
> > - reordering properties to better match DT coding style 
> > https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node
> > - use phandle to directly access ports,
> > - reorder DT node to better match DT coding style 
> > https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-nodes
> 
> I initially had it as several commits, but that resulted in (f.e.) 1
> issue being fixed, but 1 (or more) others would pop up.
> Those were then fixed in follow-up commits, but I assumed I'd get Rob's
> bot screaming at me for introducing new warnings (first).
> 
> And as they all relate(d) to fixing the dsi node, I then choose to
> combine them (but still separated by SoC).
> IMO there are several ways to organize the commits and each would have
> their pros and cons, so I 'settled' for this arrangement.
> 
> So I prefer to wait for other people's opinion first before reorganizing
> the commits again (if there's a different consensus).

personally, I can live with the current setup here, because as you said
it's all DSI related, and also not a functional change ;-) .

I guess you _could_ move the clock-master + status moves into a separate
patch, as that should not trigger any warnings.


> > The change for RK3399 Puma Haikou Video Demo DTSO is fine for me.
> 
> Thanks :)
> 
> Cheers,
>   Diederik
> 





^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-27 18:25       ` Heiko Stübner
@ 2025-06-28  8:57         ` Diederik de Haas
  0 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-28  8:57 UTC (permalink / raw)
  To: Heiko Stübner, Quentin Schulz, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Dragan Simic, Johan Jonker, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3535 bytes --]

Hi Heiko & Quentin,

On Fri Jun 27, 2025 at 8:25 PM CEST, Heiko Stübner wrote:
> Am Freitag, 27. Juni 2025, 18:52:08 Mitteleuropäische Sommerzeit schrieb Diederik de Haas:
>> On Fri Jun 27, 2025 at 6:10 PM CEST, Quentin Schulz wrote:
>> > On 6/27/25 5:16 PM, Diederik de Haas wrote:
>> >> The #address-cells and #size-cells properties are not useful on the DSI
>> >> controller nodes; they are only useful/required on ports and panel(s).
>> >> So remove them from the controller node and add them where actually
>> >> needed on the various rk3399 based boards.
>> >> 
>> >> Next to that, there were several (exact) redefinitions of nodes which
>> >> are already present in rk3399-base.dtsi to add a mipi_out endpoint.
>> >> Simplify that by referencing the mipi_out phandle and add the endpoint
>> >> to that, which allows the removeal of the ports redefinition.
>> >> 
>> >> And fix 1 instance where the mipi_out referenced node was not sorted
>> >> correctly.
>> >> 
>> >> This fixes the following DTB validation warnings:
>> >> 
>> >>    unnecessary #address-cells/#size-cells without "ranges",
>> >>    "dma-ranges" or child "reg" property
>> >> 
>> >
>> > Too many unrelated changes in this commit, please split into multiple 
>> > commits.
>> >
>> > I could identify:
>> >
>> > - moving address-cells/size-cells from SoC.dtsi to board dts(i)s,
>> > - reordering properties to better match DT coding style 
>> > https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-properties-in-device-node
>> > - use phandle to directly access ports,
>> > - reorder DT node to better match DT coding style 
>> > https://www.kernel.org/doc/html/latest/devicetree/bindings/dts-coding-style.html#order-of-nodes
>> 
>> I initially had it as several commits, but that resulted in (f.e.) 1
>> issue being fixed, but 1 (or more) others would pop up.
>> Those were then fixed in follow-up commits, but I assumed I'd get Rob's
>> bot screaming at me for introducing new warnings (first).
>> 
>> And as they all relate(d) to fixing the dsi node, I then choose to
>> combine them (but still separated by SoC).
>> IMO there are several ways to organize the commits and each would have
>> their pros and cons, so I 'settled' for this arrangement.
>> 
>> So I prefer to wait for other people's opinion first before reorganizing
>> the commits again (if there's a different consensus).
>
> personally, I can live with the current setup here, because as you said
> it's all DSI related, and also not a functional change ;-) .
>
> I guess you _could_ move the clock-master + status moves into a separate
> patch, as that should not trigger any warnings.

After having thought a bit more about it, I actually agree that the
moving of address/size-cells from SoC to board dts[i] should be separate
from extracting the ports/endpoints into a node with a phandle
reference. This patch set is actually from 2 branches:
- dtb-fixes-dsi
- dtb-fixes-ports-endpoints (although I now use 'dtb-fixes-fruit')

ports-endpoints is on top of dsi and came forth as it made sense to do
the ports/endpoints extraction in more places.
I'll then also put the DT node movement in a separate patch.

I'm not a fan of putting clock-master + status property move into a
separate patch as then the address/size patch would look weird (to me)
as you'd see how those properties were inconsistently sorted ... just so
that can be fixed in a separate patch.

Cheers,
  Diederik

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-27 15:16 ` [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards Diederik de Haas
  2025-06-27 16:10   ` Quentin Schulz
@ 2025-06-29  0:32   ` kernel test robot
  2025-06-29 10:09     ` Diederik de Haas
  1 sibling, 1 reply; 17+ messages in thread
From: kernel test robot @ 2025-06-29  0:32 UTC (permalink / raw)
  To: Diederik de Haas, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner
  Cc: llvm, oe-kbuild-all, Dragan Simic, Quentin Schulz, Johan Jonker,
	devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
	Diederik de Haas

Hi Diederik,

kernel test robot noticed the following build errors:

[auto build test ERROR on rockchip/for-next]
[also build test ERROR on next-20250627]
[cannot apply to robh/for-next krzk/for-next krzk-dt/for-next linus/master v6.16-rc3]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Diederik-de-Haas/arm64-dts-rockchip-Refactor-DSI-nodes-on-px30-boards/20250627-233300
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
patch link:    https://lore.kernel.org/r/20250627152645.740981-3-didi.debian%40cknow.org
patch subject: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
config: arm64-randconfig-002-20250629 (https://download.01.org/0day-ci/archive/20250629/202506290852.bWro2lBe-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250629/202506290852.bWro2lBe-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506290852.bWro2lBe-lkp@intel.com/

All errors (new ones prefixed by >>):

>> Error: arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso:75.1-6 syntax error
   FATAL ERROR: Unable to parse input tree

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-29  0:32   ` kernel test robot
@ 2025-06-29 10:09     ` Diederik de Haas
  2025-06-30  5:57       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 17+ messages in thread
From: Diederik de Haas @ 2025-06-29 10:09 UTC (permalink / raw)
  To: kernel test robot, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Heiko Stuebner
  Cc: llvm, oe-kbuild-all, Dragan Simic, Quentin Schulz, Johan Jonker,
	devicetree, linux-arm-kernel, linux-rockchip, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2602 bytes --]

Hi,

On Sun Jun 29, 2025 at 2:32 AM CEST, kernel test robot wrote:
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on rockchip/for-next]
> [also build test ERROR on next-20250627]
> [cannot apply to robh/for-next krzk/for-next krzk-dt/for-next linus/master v6.16-rc3]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Diederik-de-Haas/arm64-dts-rockchip-Refactor-DSI-nodes-on-px30-boards/20250627-233300
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
> patch link:    https://lore.kernel.org/r/20250627152645.740981-3-didi.debian%40cknow.org
> patch subject: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
> config: arm64-randconfig-002-20250629 (https://download.01.org/0day-ci/archive/20250629/202506290852.bWro2lBe-lkp@intel.com/config)
> compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250629/202506290852.bWro2lBe-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202506290852.bWro2lBe-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
>>> Error: arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso:75.1-6 syntax error
>    FATAL ERROR: Unable to parse input tree

The kernel test robot is right as the ``&mipi_out`` node is missing a
closing ``;``, so thanks for that :-)
The problem is also present in v2, so I'll send a v3 shortly.

Luckily I've now found why my build script didn't catch it.
```sh
export PATH=~/dev/kernel.org/dt-schema-venv/bin/:$PATH CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64
make distclean
make debarm64_defconfig
make CHECK_DTBS=y W=1 rockchip/px30-cobra-ltk050h3146w-a2.dtb
<quite-a-long-list-of-all-boards-at-least-I-thought-so>
```

(debarm64_defconfig is my own defconfig based on Debian's kernel config)

That long list didn't have ``rockchip/rk3399-rockpro64-screen.dtbo``.
Is there a better/simpler way to validate all rockchip boards without
having to explicitly list each and every one of them?

Cheers,
  Diederik

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-29 10:09     ` Diederik de Haas
@ 2025-06-30  5:57       ` Krzysztof Kozlowski
  2025-06-30 13:12         ` Diederik de Haas
  0 siblings, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-30  5:57 UTC (permalink / raw)
  To: Diederik de Haas, kernel test robot, Rob Herring, Conor Dooley,
	Heiko Stuebner
  Cc: llvm, oe-kbuild-all, Dragan Simic, Quentin Schulz, Johan Jonker,
	devicetree, linux-arm-kernel, linux-rockchip, linux-kernel

On 29/06/2025 12:09, Diederik de Haas wrote:
> Hi,
> 
> On Sun Jun 29, 2025 at 2:32 AM CEST, kernel test robot wrote:
>> kernel test robot noticed the following build errors:
>>
>> [auto build test ERROR on rockchip/for-next]
>> [also build test ERROR on next-20250627]
>> [cannot apply to robh/for-next krzk/for-next krzk-dt/for-next linus/master v6.16-rc3]
>> [If your patch is applied to the wrong git tree, kindly drop us a note.
>> And when submitting patch, we suggest to use '--base' as documented in
>> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>>
>> url:    https://github.com/intel-lab-lkp/linux/commits/Diederik-de-Haas/arm64-dts-rockchip-Refactor-DSI-nodes-on-px30-boards/20250627-233300
>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
>> patch link:    https://lore.kernel.org/r/20250627152645.740981-3-didi.debian%40cknow.org
>> patch subject: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
>> config: arm64-randconfig-002-20250629 (https://download.01.org/0day-ci/archive/20250629/202506290852.bWro2lBe-lkp@intel.com/config)
>> compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250629/202506290852.bWro2lBe-lkp@intel.com/reproduce)
>>
>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>> the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <lkp@intel.com>
>> | Closes: https://lore.kernel.org/oe-kbuild-all/202506290852.bWro2lBe-lkp@intel.com/
>>
>> All errors (new ones prefixed by >>):
>>
>>>> Error: arch/arm64/boot/dts/rockchip/rk3399-rockpro64-screen.dtso:75.1-6 syntax error
>>    FATAL ERROR: Unable to parse input tree
> 
> The kernel test robot is right as the ``&mipi_out`` node is missing a
> closing ``;``, so thanks for that :-)
> The problem is also present in v2, so I'll send a v3 shortly.
> 
> Luckily I've now found why my build script didn't catch it.
> ```sh
> export PATH=~/dev/kernel.org/dt-schema-venv/bin/:$PATH CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64
> make distclean
> make debarm64_defconfig
> make CHECK_DTBS=y W=1 rockchip/px30-cobra-ltk050h3146w-a2.dtb
> <quite-a-long-list-of-all-boards-at-least-I-thought-so>
> ```
> 
> (debarm64_defconfig is my own defconfig based on Debian's kernel config)
> 
> That long list didn't have ``rockchip/rk3399-rockpro64-screen.dtbo``.
> Is there a better/simpler way to validate all rockchip boards without
> having to explicitly list each and every one of them?
make defconfig && make

or make dtbs

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards
  2025-06-30  5:57       ` Krzysztof Kozlowski
@ 2025-06-30 13:12         ` Diederik de Haas
  0 siblings, 0 replies; 17+ messages in thread
From: Diederik de Haas @ 2025-06-30 13:12 UTC (permalink / raw)
  To: Krzysztof Kozlowski, kernel test robot, Rob Herring, Conor Dooley,
	Heiko Stuebner
  Cc: llvm, oe-kbuild-all, Dragan Simic, Quentin Schulz, Johan Jonker,
	devicetree, linux-arm-kernel, linux-rockchip, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1468 bytes --]

On Mon Jun 30, 2025 at 7:57 AM CEST, Krzysztof Kozlowski wrote:
> On 29/06/2025 12:09, Diederik de Haas wrote:
>> 
>> Luckily I've now found why my build script didn't catch it.
>> ```sh
>> export PATH=~/dev/kernel.org/dt-schema-venv/bin/:$PATH CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64
>> make distclean
>> make debarm64_defconfig
>> make CHECK_DTBS=y W=1 rockchip/px30-cobra-ltk050h3146w-a2.dtb
>> <quite-a-long-list-of-all-boards-at-least-I-thought-so>
>> ```
>> 
>> (debarm64_defconfig is my own defconfig based on Debian's kernel config)
>> 
>> That long list didn't have ``rockchip/rk3399-rockpro64-screen.dtbo``.
>> Is there a better/simpler way to validate all rockchip boards without
>> having to explicitly list each and every one of them?
> make defconfig && make
>
> or make dtbs

``make dtbs`` is faster then I recalled, but I do like the detail with
``make CHECK_DTBS=y W=1 rockchip/<board1>.dtb rockchip/<board2>.dtb``.

If I don't specify a list of boards, then it will build them all
including freescale/qcom/renesas/etc, while I only want the rockchip
ones. And as my script takes 20-30 minutes, that will probably be
several hours. Per run. And I ran it after each patch.

Giving ``rockchip/*.dtb[o]`` as parameter is basically what I want, but
I'm not aware of that being possible.
OTOH it's (already) a script, so I will probably just do a ``find`` to
dynamically generate the board list.

Cheers,
  Diederik

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-06-30 13:13 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-27 15:16 [PATCH 0/8] Fix several DTB validation issues Diederik de Haas
2025-06-27 15:16 ` [PATCH 1/8] arm64: dts: rockchip: Refactor DSI nodes on px30 boards Diederik de Haas
2025-06-27 15:16 ` [PATCH 2/8] arm64: dts: rockchip: Refactor DSI nodes on rk3399 boards Diederik de Haas
2025-06-27 16:10   ` Quentin Schulz
2025-06-27 16:52     ` Diederik de Haas
2025-06-27 18:25       ` Heiko Stübner
2025-06-28  8:57         ` Diederik de Haas
2025-06-29  0:32   ` kernel test robot
2025-06-29 10:09     ` Diederik de Haas
2025-06-30  5:57       ` Krzysztof Kozlowski
2025-06-30 13:12         ` Diederik de Haas
2025-06-27 15:16 ` [PATCH 3/8] dt-bindings: display: rockchip,dw-mipi-dsi: Drop address/size cells Diederik de Haas
2025-06-27 15:16 ` [PATCH 4/8] arm64: dts: rockchip: Simplify VOP port definition on rk3328 Diederik de Haas
2025-06-27 15:16 ` [PATCH 5/8] arm64: dts: rockchip: Simplify edp endpoints on several rk3399 boards Diederik de Haas
2025-06-27 15:16 ` [PATCH 6/8] arm64: dts: rockchip: Fix LCD panel port on rk3566-pinetab2 Diederik de Haas
2025-06-27 15:16 ` [PATCH 7/8] arm64: dts: rockchip: Drop unneeded address+size-cells on px30 Diederik de Haas
2025-06-27 15:16 ` [PATCH 8/8] arm64: dts: rockchip: Drop regulator-compatible property on rk3399 Diederik de Haas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).