Re: [PATCH v3 01/15] dt-bindings: display/msm: gpu: Document GMU wrapper-equipped A6xx

From: Konrad Dybcio
Date: Fri Feb 24 2023 - 06:51:31 EST




On 24.02.2023 12:17, Krzysztof Kozlowski wrote:
> On 23/02/2023 13:06, Konrad Dybcio wrote:
>> GMU wrapper-equipped A6xx GPUs require clocks and clock-names to be
>> specified under the GPU node, just like their older cousins.
>> Account for that.
>>
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
>> ---
>> .../devicetree/bindings/display/msm/gpu.yaml | 63 ++++++++++++++++++----
>> 1 file changed, 53 insertions(+), 10 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
>> index d4191cca71fb..e6d3160601bc 100644
>> --- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
>> +++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
>> @@ -36,10 +36,7 @@ properties:
>>
>> reg-names:
>> minItems: 1
>> - items:
>> - - const: kgsl_3d0_reg_memory
>> - - const: cx_mem
>> - - const: cx_dbgc
>> + maxItems: 3
>>
>> interrupts:
>> maxItems: 1
>> @@ -147,26 +144,72 @@ allOf:
>> description: GPU Alternative Memory Interface clock
>> - const: gfx3d
>> description: GPU 3D engine clock
>> + - const: gmu
>> + description: CX GMU clock
>> - const: rbbmtimer
>> description: GPU RBBM Timer for Adreno 5xx series
>> - const: rbcpr
>> description: GPU RB Core Power Reduction clock
>> + - const: xo
>> + description: GPUCC clocksource clock
>> minItems: 2
>> - maxItems: 7
>> + maxItems: 9
>
> Your commit says A6xx but this is a3-5xx. I don't understand this change.
Right, it's a leftover unrelated hunk. I'll remove it.

>
>>
>> required:
>> - clocks
>> - clock-names
>> +
>> - if:
>> properties:
>> compatible:
>> contains:
>> - pattern: '^qcom,adreno-6[0-9][0-9]\.[0-9]$'
>> -
>> - then: # Since Adreno 6xx series clocks should be defined in GMU
>> + enum:
>> + - qcom,adreno-610.0
>> + - qcom,adreno-619.1
>> + then:
>> properties:
>> - clocks: false
>> - clock-names: false
>> + clock-names:
>> + items:
>> + - const: core
>> + description: GPU Core clock
>> + - const: iface
>> + description: GPU Interface clock
>> + - const: mem_iface
>> + description: GPU Memory Interface clock
>> + - const: alt_mem_iface
>> + description: GPU Alternative Memory Interface clock
>> + - const: gmu
>> + description: CX GMU clock
>> + - const: xo
>> + description: GPUCC clocksource clock
>> +
>> + reg-names:
>> + minItems: 1
>> + items:
>> + - const: kgsl_3d0_reg_memory
>> + - const: cx_dbgc
>> +
>> + required:
>> + - clocks
>> + - clock-names
>> + else:
>> + if:
>> + properties:
>> + compatible:
>> + contains:
>> + pattern: '^qcom,adreno-6[0-9][0-9]\.[0-9]$'
>> +
>> + then: # Starting with A6xx, the clocks are usually defined in the GMU node
>
> The comment is not accurate anymore.
I'll argue the semantics, they are still "usually" defined
in the GMU node..

Konrad
>
>
> Best regards,
> Krzysztof
>