Re: [PATCH v2] arm64: dts: rockchip: Add dtsi file for RK3399S SoC variant

From: Heiko Stübner
Date: Fri Oct 11 2024 - 04:43:59 EST


Am Freitag, 11. Oktober 2024, 10:33:56 CEST schrieb Diederik de Haas:
> Hi Dragan,
>
> On Fri Oct 11, 2024 at 10:23 AM CEST, Dragan Simic wrote:
> > On 2024-10-11 10:00, Diederik de Haas wrote:
> > > On Fri Oct 11, 2024 at 9:40 AM CEST, Dragan Simic wrote:
> > >> Following the hierarchical representation of the SoC data that's been
> > >> already
> > >> established in the commit 296602b8e5f7 ("arm64: dts: rockchip: Move
> > >> RK3399
> > >> OPPs to dtsi files for SoC variants"), add new SoC dtsi file for the
> > >> Rockchip
> > >> RK3399S SoC, which is yet another variant of the Rockchip RK3399 SoC.
> > >> ...
> > >> The RK3399S variant is used in the Pine64 PinePhone Pro only, [1]
> > >> whose board
> > >> dts file included the necessary adjustments to the CPU DVFS OPPs.
> > >> This commit
> > >> effectively moves those adjustments into the separate RK3399S SoC dtsi
> > >> file,
> > >> following the above-mentioned "encapsulation" approach.
> > >> ...
> > >> ---
> > >> ...
> > >> .../dts/rockchip/rk3399-pinephone-pro.dts | 23 +---
> > >> arch/arm64/boot/dts/rockchip/rk3399-s.dtsi | 123
> > >> ++++++++++++++++++
> > >> 2 files changed, 124 insertions(+), 22 deletions(-)
> > >> create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-s.dtsi
> > >>
> > >> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > >> b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > >> index 1a44582a49fb..eee6cfb6de01 100644
> > >> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > >> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> > >> @@ -13,7 +13,7 @@
> > >> #include <dt-bindings/input/gpio-keys.h>
> > >> #include <dt-bindings/input/linux-event-codes.h>
> > >> #include <dt-bindings/leds/common.h>
> > >> -#include "rk3399.dtsi"
> > >> +#include "rk3399-s.dtsi"
> > >>
> > >> / {
> > >> model = "Pine64 PinePhone Pro";
> > >> @@ -456,27 +456,6 @@ mpu6500@68 {
> > >> };
> > >> };
> > >>
> > >> -&cluster0_opp {
> > >> - opp04 {
> > >> - status = "disabled";
> > >> - };
> > >> -
> > >> - opp05 {
> > >> - status = "disabled";
> > >> - };
> > >> -};
> > >> -
> > >> -&cluster1_opp {
> > >> - opp06 {
> > >> - opp-hz = /bits/ 64 <1500000000>;
> > >> - opp-microvolt = <1100000 1100000 1150000>;
> > >> - };
> > >> -
> > >> - opp07 {
> > >> - status = "disabled";
> > >> - };
> > >> -};
> > >> -
> > >> &io_domains {
> > >> bt656-supply = <&vcc1v8_dvp>;
> > >> audio-supply = <&vcca1v8_codec>;
> > >> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-s.dtsi
> > >> b/arch/arm64/boot/dts/rockchip/rk3399-s.dtsi
> > >> new file mode 100644
> > >> index 000000000000..e54f451af9f3
> > >> --- /dev/null
> > >> +++ b/arch/arm64/boot/dts/rockchip/rk3399-s.dtsi
> > >> @@ -0,0 +1,123 @@
> > >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > >> +/*
> > >> + * Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd
> > >> + */
> > >> +
> > >> +#include "rk3399-base.dtsi"
> > >> +
> > >> +/ {
> > >> + cluster0_opp: opp-table-0 {
> > >> + compatible = "operating-points-v2";
> > >> + opp-shared;
> > >> +
> > >> + opp00 {
> > >> + opp-hz = /bits/ 64 <408000000>;
> > >> + opp-microvolt = <825000 825000 1250000>;
> > >> + clock-latency-ns = <40000>;
> > >> + };
> > >> + opp01 {
> > >> + opp-hz = /bits/ 64 <600000000>;
> > >> + opp-microvolt = <825000 825000 1250000>;
> > >> + };
> > >> + opp02 {
> > >> + opp-hz = /bits/ 64 <816000000>;
> > >> + opp-microvolt = <850000 850000 1250000>;
> > >> + };
> > >
> > > Is there a reason why there isn't a line separator between the various
> > > opp nodes? Normally there is one between nodes.
> > > Note that in rk3588-opp.dtsi there are no separator lines between the
> > > opp nodes, while they do exist between other nodes.
> > > And in rk356x.dtsi the opp nodes do have a separator line.
> >
> > That has also bothered me. :) I already had a look around in various
> > dts(i) files long time ago and there seems to be no preferred layout.

I guess "with" lines in between is sort-of preferred in general.
I sometime add them in new board-dts when applying and noticing them,
but also sometimes miss them.

I guess empty lines are helpful when the nodes are "not the same",
but I guess for OPPs it doesn't matter so much, as the individual nodes
are all the same.


But in the end, I guess just follow the other OPPs in rk3399 for now ;-)
[as this patch does]

> I'm inclined to say the opp ones are the odd ones.
>
> > In this particular case, it's better to have no separator lines because
> > that's what we already have lacking in rk3399.dtsi, rk3399-t.dtsi, etc.,
> > so running something like "diff rk3399.dtsi rk3399-s.dtsi" makes it easy
> > to see what actually differs in the RK3399 SoC variants, without having
> > to filter out any whitespace differences.
>
> Besides that inconsistencies always seem to 'trigger' me, I especially
> noticed it as this patch changed it from having separator lines to
> having no separator lines.
>
> Cheers,
> Diederik
>