* [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions
2025-06-28 3:02 [PATCH 0/3] dt-bindings: display/msm/gpu: rework clocks definitions Dmitry Baryshkov
@ 2025-06-28 3:02 ` Dmitry Baryshkov
2025-06-28 14:02 ` Konrad Dybcio
2025-07-08 12:38 ` Rob Herring (Arm)
2025-06-28 3:02 ` [PATCH 2/3] dt-bindings: display/msm/gpu: describe alwayson clock Dmitry Baryshkov
2025-06-28 3:02 ` [PATCH 3/3] dt-bindings: display/msm/gpu: describe clocks for each Adreno GPU type Dmitry Baryshkov
2 siblings, 2 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-06-28 3:02 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Handle two cases for Adreno 7xx:
- Adreno 702 follows A610 and A619 example and has clocks in the GPU
node.
- Newer 7xx GPUs use a different pattern for the compatibles and did not
match currently.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/display/msm/gpu.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index 6ddc72fd85b04537ea270754a897b4e7eb269641..97254f90926030c4a4f72ae5e963af1845f0dbbd 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -187,6 +187,7 @@ allOf:
enum:
- qcom,adreno-610.0
- qcom,adreno-619.1
+ - qcom,adreno-07000200
then:
properties:
clocks:
@@ -222,7 +223,9 @@ allOf:
properties:
compatible:
contains:
- pattern: '^qcom,adreno-[67][0-9][0-9]\.[0-9]+$'
+ oneOf:
+ - pattern: '^qcom,adreno-[67][0-9][0-9]\.[0-9]+$'
+ - pattern: '^qcom,adreno-[0-9a-f]{8}$'
then: # Starting with A6xx, the clocks are usually defined in the GMU node
properties:
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions
2025-06-28 3:02 ` [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions Dmitry Baryshkov
@ 2025-06-28 14:02 ` Konrad Dybcio
2025-07-08 12:38 ` Rob Herring (Arm)
1 sibling, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2025-06-28 14:02 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Konrad Dybcio,
Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang, Marijn Suijten,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
On 6/28/25 5:02 AM, Dmitry Baryshkov wrote:
> Handle two cases for Adreno 7xx:
> - Adreno 702 follows A610 and A619 example and has clocks in the GPU
> node.
> - Newer 7xx GPUs use a different pattern for the compatibles and did not
> match currently.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions
2025-06-28 3:02 ` [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions Dmitry Baryshkov
2025-06-28 14:02 ` Konrad Dybcio
@ 2025-07-08 12:38 ` Rob Herring (Arm)
1 sibling, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-07-08 12:38 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Krzysztof Kozlowski, Konrad Dybcio, Maarten Lankhorst,
Maxime Ripard, Sean Paul, devicetree, Marijn Suijten,
linux-kernel, linux-arm-msm, David Airlie, Thomas Zimmermann,
Abhinav Kumar, dri-devel, Conor Dooley, freedreno, Rob Clark,
Dmitry Baryshkov, Jessica Zhang, Simona Vetter
On Sat, 28 Jun 2025 06:02:35 +0300, Dmitry Baryshkov wrote:
> Handle two cases for Adreno 7xx:
> - Adreno 702 follows A610 and A619 example and has clocks in the GPU
> node.
> - Newer 7xx GPUs use a different pattern for the compatibles and did not
> match currently.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/display/msm/gpu.yaml | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] dt-bindings: display/msm/gpu: describe alwayson clock
2025-06-28 3:02 [PATCH 0/3] dt-bindings: display/msm/gpu: rework clocks definitions Dmitry Baryshkov
2025-06-28 3:02 ` [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions Dmitry Baryshkov
@ 2025-06-28 3:02 ` Dmitry Baryshkov
2025-07-08 12:39 ` Rob Herring (Arm)
2025-06-28 3:02 ` [PATCH 3/3] dt-bindings: display/msm/gpu: describe clocks for each Adreno GPU type Dmitry Baryshkov
2 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-06-28 3:02 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Adreno A506 and A510 have one extra clock, alwayson. Describe it in the
schema.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/display/msm/gpu.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index 97254f90926030c4a4f72ae5e963af1845f0dbbd..af43527188cefda0c127c4674d4667203972f583 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -173,6 +173,8 @@ allOf:
description: GPU RBBM Timer for Adreno 5xx series
- const: rbcpr
description: GPU RB Core Power Reduction clock
+ - const: alwayson
+ description: GPU AON clock
minItems: 2
maxItems: 7
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] dt-bindings: display/msm/gpu: describe alwayson clock
2025-06-28 3:02 ` [PATCH 2/3] dt-bindings: display/msm/gpu: describe alwayson clock Dmitry Baryshkov
@ 2025-07-08 12:39 ` Rob Herring (Arm)
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-07-08 12:39 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: linux-kernel, devicetree, Abhinav Kumar, Maarten Lankhorst,
dri-devel, Dmitry Baryshkov, Rob Clark, Thomas Zimmermann,
Sean Paul, Jessica Zhang, linux-arm-msm, Marijn Suijten,
Konrad Dybcio, freedreno, Conor Dooley, David Airlie,
Simona Vetter, Maxime Ripard, Krzysztof Kozlowski
On Sat, 28 Jun 2025 06:02:36 +0300, Dmitry Baryshkov wrote:
> Adreno A506 and A510 have one extra clock, alwayson. Describe it in the
> schema.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/display/msm/gpu.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] dt-bindings: display/msm/gpu: describe clocks for each Adreno GPU type
2025-06-28 3:02 [PATCH 0/3] dt-bindings: display/msm/gpu: rework clocks definitions Dmitry Baryshkov
2025-06-28 3:02 ` [PATCH 1/3] dt-bindings: display/msm/gpu: account for 7xx GPUs in clocks conditions Dmitry Baryshkov
2025-06-28 3:02 ` [PATCH 2/3] dt-bindings: display/msm/gpu: describe alwayson clock Dmitry Baryshkov
@ 2025-06-28 3:02 ` Dmitry Baryshkov
2025-07-08 12:40 ` Rob Herring (Arm)
2 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2025-06-28 3:02 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Konrad Dybcio, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, dri-devel, freedreno, devicetree, linux-kernel
Rather than having a single list with all possible clocks for A3xx-A5xx
define individual Adreno GPU types and corresponding clock lists.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
.../devicetree/bindings/display/msm/gpu.yaml | 220 ++++++++++++++++++---
1 file changed, 194 insertions(+), 26 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index af43527188cefda0c127c4674d4667203972f583..7ef80f9fac8b2927b2a69100a7f6c729d9d188ab 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -146,41 +146,209 @@ allOf:
properties:
compatible:
contains:
- pattern: '^qcom,adreno-[3-5][0-9][0-9]\.[0-9]+$'
+ oneOf:
+ - pattern: '^qcom,adreno-305\.[0-9]+$'
+ - pattern: '^qcom,adreno-330\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ maxItems: 3
+ clock-names:
+ items:
+ - const: core
+ description: GPU Core clock
+ - const: iface
+ description: GPU Interface clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: '^qcom,adreno-306\.[0-9]+$'
then:
properties:
clocks:
- minItems: 2
- maxItems: 7
+ minItems: 5
+ maxItems: 6
+ clock-names:
+ oneOf:
+ - 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: gfx3d
+ description: GPU 3D engine clock
+ - items:
+ - const: core
+ description: GPU Core clock
+ - const: iface
+ description: GPU Interface clock
+ - const: mem
+ description: GPU Memory clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
+ - const: alt_mem_iface
+ description: GPU Alternative Memory Interface clock
+ - const: gfx3d
+ description: GPU 3D engine clock
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: '^qcom,adreno-320\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 4
+ maxItems: 4
clock-names:
items:
- anyOf:
- - const: core
- description: GPU Core clock
- - const: iface
- description: GPU Interface clock
- - const: mem
- description: GPU Memory clock
- - const: mem_iface
- description: GPU Memory Interface clock
- - const: alt_mem_iface
- description: GPU Alternative Memory Interface clock
- - const: gfx3d
- description: GPU 3D engine clock
- - const: rbbmtimer
- description: GPU RBBM Timer for Adreno 5xx series
- - const: rbcpr
- description: GPU RB Core Power Reduction clock
- - const: alwayson
- description: GPU AON clock
- minItems: 2
+ - const: core
+ description: GPU Core clock
+ - const: iface
+ description: GPU Interface clock
+ - const: mem
+ description: GPU Memory clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: '^qcom,adreno-405\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 7
maxItems: 7
+ clock-names:
+ items:
+ - const: core
+ description: GPU Core clock
+ - const: iface
+ description: GPU Interface clock
+ - const: mem
+ description: GPU Memory clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
+ - const: alt_mem_iface
+ description: GPU Alternative Memory Interface clock
+ - const: gfx3d
+ description: GPU 3D engine clock
+ - const: rbbmtimer
+ description: GPU RBBM Timer for Adreno 5xx series
- required:
- - clocks
- - clock-names
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: '^qcom,adreno-506\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 6
+ maxItems: 6
+ 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: rbbmtimer
+ description: GPU RBBM Timer for Adreno 5xx series
+ - const: alwayson
+ description: GPU AON clock
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ oneOf:
+ - pattern: '^qcom,adreno-508\.[0-9]+$'
+ - pattern: '^qcom,adreno-509\.[0-9]+$'
+ - pattern: '^qcom,adreno-512\.[0-9]+$'
+ - pattern: '^qcom,adreno-540\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 6
+ maxItems: 6
+ clock-names:
+ items:
+ - const: iface
+ description: GPU Interface clock
+ - const: rbbmtimer
+ description: GPU RBBM Timer for Adreno 5xx series
+ - const: mem
+ description: GPU Memory clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
+ - const: rbcpr
+ description: GPU RB Core Power Reduction clock
+ - const: core
+ description: GPU Core clock
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: '^qcom,adreno-510\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 6
+ maxItems: 6
+ clock-names:
+ items:
+ - const: core
+ description: GPU Core clock
+ - const: iface
+ description: GPU Interface clock
+ - const: mem
+ description: GPU Memory clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
+ - const: rbbmtimer
+ description: GPU RBBM Timer for Adreno 5xx series
+ - const: alwayson
+ description: GPU AON clock
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: '^qcom,adreno-530\.[0-9]+$'
+ then:
+ properties:
+ clocks:
+ minItems: 5
+ maxItems: 5
+ clock-names:
+ items:
+ - const: core
+ description: GPU Core clock
+ - const: iface
+ description: GPU Interface clock
+ - const: rbbmtimer
+ description: GPU RBBM Timer for Adreno 5xx series
+ - const: mem
+ description: GPU Memory clock
+ - const: mem_iface
+ description: GPU Memory Interface clock
- if:
properties:
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] dt-bindings: display/msm/gpu: describe clocks for each Adreno GPU type
2025-06-28 3:02 ` [PATCH 3/3] dt-bindings: display/msm/gpu: describe clocks for each Adreno GPU type Dmitry Baryshkov
@ 2025-07-08 12:40 ` Rob Herring (Arm)
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-07-08 12:40 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: linux-kernel, dri-devel, Maarten Lankhorst, Simona Vetter,
Sean Paul, Marijn Suijten, Krzysztof Kozlowski, linux-arm-msm,
David Airlie, Conor Dooley, Rob Clark, Abhinav Kumar,
Konrad Dybcio, Dmitry Baryshkov, devicetree, Jessica Zhang,
Maxime Ripard, freedreno, Thomas Zimmermann
On Sat, 28 Jun 2025 06:02:37 +0300, Dmitry Baryshkov wrote:
> Rather than having a single list with all possible clocks for A3xx-A5xx
> define individual Adreno GPU types and corresponding clock lists.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> .../devicetree/bindings/display/msm/gpu.yaml | 220 ++++++++++++++++++---
> 1 file changed, 194 insertions(+), 26 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread