Re: [PATCH v14 3/9] dt-bindings: soc: qcom: cpr3: Add bindings for CPR3 driver

From: Ulf Hansson
Date: Thu Aug 31 2023 - 18:03:09 EST


On Thu, 31 Aug 2023 at 18:40, Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote:
>
> On 31.08.2023 18:28, Rob Herring wrote:
> > On Tue, Aug 29, 2023 at 01:01:44PM +0200, Ulf Hansson wrote:
> >> On Mon, 28 Aug 2023 at 13:42, Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote:
> >>>
> >>> From: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxxx>
> >>>
> >>> Add the bindings for the CPR3 driver to the documentation.
> >>>
> >>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxxx>
> >>> [Konrad: Make binding check pass; update AGdR's email]
> >>> Tested-by: Jeffrey Hugo <quic_jhugo@xxxxxxxxxxx>
> >>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
> >>> ---
> >>> .../devicetree/bindings/soc/qcom/qcom,cpr3.yaml | 286 +++++++++++++++++++++
> >>> 1 file changed, 286 insertions(+)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,cpr3.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,cpr3.yaml
> >>> new file mode 100644
> >>> index 000000000000..acf2e294866b
> >>
> >> [...]
> >>
> >>> +
> >>> +examples:
> >>> + - |
> >>> + #include <dt-bindings/clock/qcom,gcc-msm8998.h>
> >>> + #include <dt-bindings/interrupt-controller/irq.h>
> >>> +
> >>> + cpus {
> >>> + #address-cells = <2>;
> >>> + #size-cells = <0>;
> >>> +
> >>> + cpu@0 {
> >>> + compatible = "qcom,kryo280";
> >>> + device_type = "cpu";
> >>> + reg = <0x0 0x0>;
> >>> + operating-points-v2 = <&cpu0_opp_table>;
> >>> + power-domains = <&apc_cprh 0>;
> >>> + power-domain-names = "cprh";
> >>
> >> Rather than using a Qcom specific power-domain-name, perhaps a common
> >> power-domain-name for cpus, that can be used for "the performance
> >> domain" would be a good idea here?
> >>
> >> I have suggested using "perf" for the SCMI performance domain [1],
> >> perhaps that description should be extended to cover this and other
> >> performance domains too?
> >
> > Better yet, nothing. There's no value to -names when there is only 1
> > entry.
> As of today, it's required for devm_pm_opp_attach_genpd()
>
> Ulf, is there a better way to do this that doesn't require names?

In my opinion I think using names is valuable from a future and
flexibility point of view. To pick the proper name is another
question.

Anyway, in this case I think you should consider the case of
potentially having multiple power-domains for the cpu. Having both a
cpr(h) (for performance-scaling) and a psci (for power) power-domain
sounds like a combination that should already exist. Maybe not
upstream wise, but at least this is what I have been told to exist
several years ago by Qcom engineers.

Kind regards
Uffe