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

From: Konrad Dybcio
Date: Sat Sep 09 2023 - 08:01:09 EST


On 1.09.2023 00:02, Ulf Hansson wrote:
> 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.
Riiight I completely forgot about PSCI cpuidle..

Konrad