Re: [PATCH 2/3] dt-bindings: clock: qcom,gcc-sc7180: document CX power domain

Konrad Dybcio
2023-04-11T11:27:25Z

On 11.04.2023 06:56, Rajendra Nayak wrote:
>
>
> On 4/8/2023 7:33 PM, Konrad Dybcio wrote:
>>
>>
>> On 8.04.2023 15:48, Krzysztof Kozlowski wrote:
>>> The GCC clock controller needs CX power domain, at least according to
>>> DTS:
>>>
>>>    sc7180-trogdor-pompom-r3.dtb: clock-controller@100000: Unevaluated properties are not allowed ('power-domains' was unexpected)
>>>
>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>> ---
>> +CC Rajendra (author of 5d6fc6321db1 ("arm64: dts: qcom:
>> sc7180: Add required-opps for USB"))
>>
>> Rajendra, shouldn't SC7180 GCC have PM ops to make sure a vote
>> is only there when AP is active?
So IIUC, CX is never supposed to be shut down?

Konrad
>
> hmm, I am not quite sure why we would want the performance votes
> from peripherals dropped when CPUs go down in idle?
>
>> Are all GDSCs powered by CX?
>> If not, wouldn't this also need power-domain-names to
>> facilitate e.g. potential MX-powered ones?
>
> For sc7180 GCC, yes.
>
>>
>> Konrad
>>>   .../devicetree/bindings/clock/qcom,gcc-sc7180.yaml         | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml
>>> index 06dce0c6b7d0..8bf9b6f49550 100644
>>> --- a/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml
>>> +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml
>>> @@ -32,6 +32,10 @@ properties:
>>>         - const: bi_tcxo_ao
>>>         - const: sleep_clk
>>>   +  power-domains:
>>> +    items:
>>> +      - description: CX domain
>>> +
>>>   required:
>>>     - compatible
>>>     - clocks
>>> @@ -45,6 +49,8 @@ unevaluatedProperties: false
>>>   examples:
>>>     - |
>>>       #include <dt-bindings/clock/qcom,rpmh.h>
>>> +    #include <dt-bindings/power/qcom-rpmpd.h>
>>> +
>>>       clock-controller@100000 {
>>>         compatible = "qcom,gcc-sc7180";
>>>         reg = <0x00100000 0x1f0000>;
>>> @@ -52,6 +58,7 @@ examples:
>>>                  <&rpmhcc RPMH_CXO_CLK_A>,
>>>                  <&sleep_clk>;
>>>         clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
>>> +      power-domains = <&rpmhpd SC7180_CX>;
>>>         #clock-cells = <1>;
>>>         #reset-cells = <1>;
>>>         #power-domain-cells = <1>;