The RK3399's MIPI DSI has 2 ports: in an out. The definition of
the port property necessitates the value of #address-cells to be 1.
Signed-off-by: Olivier Benjamin <olivier.benjamin@bootlin.com>
---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 5ebc380a24df86ba7172b0950b89cac56b61c507..5a7341fb6bcb0613af6f3ac31d99355a0f890e89 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -468,7 +468,7 @@ &mipi_dsi {
ports {
mipi_out: port@1 {
- #address-cells = <0>;
+ #address-cells = <1>;
#size-cells = <0>;
reg = <1>;
--
2.49.0
Hi (again), On Wed Jun 18, 2025 at 12:32 AM CEST, Olivier Benjamin wrote: > The RK3399's MIPI DSI has 2 ports: in an out. The definition of > the port property necessitates the value of #address-cells to be 1. > > Signed-off-by: Olivier Benjamin <olivier.benjamin@bootlin.com> > --- > arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > index 5ebc380a24df86ba7172b0950b89cac56b61c507..5a7341fb6bcb0613af6f3ac31d99355a0f890e89 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > @@ -468,7 +468,7 @@ &mipi_dsi { > > ports { > mipi_out: port@1 { > - #address-cells = <0>; > + #address-cells = <1>; > #size-cells = <0>; > reg = <1>; > In rk3399-base.dtsi there is already a definition for mipi-in and mipi-out. AFAICT what this change does is require a reg property on the endpoint and I don't think that's correct. It seems to me that all you need is a mipi_out_panel definition. So what I came up with is this: ```sh $ git diff diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts index 04ba4c4565d0..b175aeed99e2 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts @@ -466,18 +466,6 @@ &mipi_dsi { status = "okay"; clock-master; - ports { - mipi_out: port@1 { - #address-cells = <0>; - #size-cells = <0>; - reg = <1>; - - mipi_out_panel: endpoint { - remote-endpoint = <&mipi_in_panel>; - }; - }; - }; - panel@0 { compatible = "hannstar,hsd060bhw4"; reg = <0>; @@ -495,6 +483,12 @@ mipi_in_panel: endpoint { }; }; +&mipi_out { + mipi_out_panel: endpoint { + remote-endpoint = <&mipi_in_panel>; + }; +}; + &pmu_io_domains { pmu1830-supply = <&vcc_1v8>; status = "okay"; ``` I don't have a PPP so I can't verify it, but ``make CHECK_DTBS=y W=1 rockchip/rk3399-pinephone-pro.dtb`` no longer reports issues wrt dsi@ff960000 (after I also fixed the panel compatible like in patch 1 and added a LCD1_RST pinctrl definition as indicated in my reply to patch 3). Cheers, Diederik
On 6/18/25 15:50, Diederik de Haas wrote: > Hi (again), > Hello again, I appreciate you taking the time! > On Wed Jun 18, 2025 at 12:32 AM CEST, Olivier Benjamin wrote: >> The RK3399's MIPI DSI has 2 ports: in an out. The definition of >> the port property necessitates the value of #address-cells to be 1. >> >> Signed-off-by: Olivier Benjamin <olivier.benjamin@bootlin.com> >> --- >> arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts >> index 5ebc380a24df86ba7172b0950b89cac56b61c507..5a7341fb6bcb0613af6f3ac31d99355a0f890e89 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts >> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts >> @@ -468,7 +468,7 @@ &mipi_dsi { >> >> ports { >> mipi_out: port@1 { >> - #address-cells = <0>; >> + #address-cells = <1>; >> #size-cells = <0>; >> reg = <1>; >> > > In rk3399-base.dtsi there is already a definition for mipi-in and > mipi-out. AFAICT what this change does is require a reg property on the > endpoint and I don't think that's correct. > Those definitions do indeed exist in the base DTSI. > It seems to me that all you need is a mipi_out_panel definition. > So what I came up with is this: > > ```sh > $ git diff > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > index 04ba4c4565d0..b175aeed99e2 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > @@ -466,18 +466,6 @@ &mipi_dsi { > status = "okay"; > clock-master; > > - ports { > - mipi_out: port@1 { > - #address-cells = <0>; > - #size-cells = <0>; > - reg = <1>; > - > - mipi_out_panel: endpoint { > - remote-endpoint = <&mipi_in_panel>; > - }; > - }; > - }; > - > panel@0 { > compatible = "hannstar,hsd060bhw4"; > reg = <0>; > @@ -495,6 +483,12 @@ mipi_in_panel: endpoint { > }; > }; > > +&mipi_out { > + mipi_out_panel: endpoint { > + remote-endpoint = <&mipi_in_panel>; > + }; > +}; > + > &pmu_io_domains { > pmu1830-supply = <&vcc_1v8>; > status = "okay"; > ``` > Thanks for the suggestion, that looks like it might actually solve the issue. > I don't have a PPP so I can't verify it, but ``make CHECK_DTBS=y W=1 > rockchip/rk3399-pinephone-pro.dtb`` no longer reports issues wrt > dsi@ff960000 (after I also fixed the panel compatible like in patch 1 > and added a LCD1_RST pinctrl definition as indicated in my reply to > patch 3). > I'll test on my PPP and report back in v2. > Cheers, > Diederik -- Olivier Benjamin, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
© 2016 - 2025 Red Hat, Inc.