A612 GPU has a new IP called RGMU (Reduced Graphics Management Unit)
which replaces GMU. But it doesn't do clock or voltage scaling. So we
need the gpu core clock in the GPU node along with the power domain to
do clock and voltage scaling from the kernel. Update the bindings to
describe this GPU.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
.../devicetree/bindings/display/msm/gpu.yaml | 32 ++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index 826aafdcc20b..a6bbc88e6a24 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -45,11 +45,11 @@ properties:
- const: amd,imageon
clocks:
- minItems: 2
+ minItems: 1
maxItems: 7
clock-names:
- minItems: 2
+ minItems: 1
maxItems: 7
reg:
@@ -387,6 +387,34 @@ allOf:
required:
- clocks
- clock-names
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,adreno-612.0
+ then:
+ properties:
+ clocks:
+ items:
+ - description: GPU Core clock
+
+ clock-names:
+ items:
+ - const: core
+
+ reg:
+ items:
+ - description: GPU Reg memory
+
+ reg-names:
+ items:
+ - const: kgsl_3d0_reg_memory
+
+ required:
+ - clocks
+ - clock-names
+
else:
if:
properties:
--
2.51.0
On Fri, Nov 07, 2025 at 02:20:07AM +0530, Akhil P Oommen wrote: > A612 GPU has a new IP called RGMU (Reduced Graphics Management Unit) > which replaces GMU. But it doesn't do clock or voltage scaling. So we > need the gpu core clock in the GPU node along with the power domain to > do clock and voltage scaling from the kernel. Update the bindings to > describe this GPU. > > Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> > --- > .../devicetree/bindings/display/msm/gpu.yaml | 32 ++++++++++++++++++++-- > 1 file changed, 30 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml > index 826aafdcc20b..a6bbc88e6a24 100644 > --- a/Documentation/devicetree/bindings/display/msm/gpu.yaml > +++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml > @@ -45,11 +45,11 @@ properties: > - const: amd,imageon > > clocks: > - minItems: 2 > + minItems: 1 > maxItems: 7 > > clock-names: > - minItems: 2 > + minItems: 1 > maxItems: 7 > > reg: > @@ -387,6 +387,34 @@ allOf: > required: > - clocks > - clock-names > + > + - if: > + properties: > + compatible: > + contains: > + const: qcom,adreno-612.0 > + then: > + properties: > + clocks: > + items: > + - description: GPU Core clock > + > + clock-names: > + items: > + - const: core > + > + reg: > + items: > + - description: GPU Reg memory > + > + reg-names: > + items: > + - const: kgsl_3d0_reg_memory What happened with the second entry? Please describe the hardware COMPLETELY (see writing bindings doc). Best regards, Krzysztof
On 11/10/2025 1:18 PM, Krzysztof Kozlowski wrote: > On Fri, Nov 07, 2025 at 02:20:07AM +0530, Akhil P Oommen wrote: >> A612 GPU has a new IP called RGMU (Reduced Graphics Management Unit) >> which replaces GMU. But it doesn't do clock or voltage scaling. So we >> need the gpu core clock in the GPU node along with the power domain to >> do clock and voltage scaling from the kernel. Update the bindings to >> describe this GPU. >> >> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> >> --- >> .../devicetree/bindings/display/msm/gpu.yaml | 32 ++++++++++++++++++++-- >> 1 file changed, 30 insertions(+), 2 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml >> index 826aafdcc20b..a6bbc88e6a24 100644 >> --- a/Documentation/devicetree/bindings/display/msm/gpu.yaml >> +++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml >> @@ -45,11 +45,11 @@ properties: >> - const: amd,imageon >> >> clocks: >> - minItems: 2 >> + minItems: 1 >> maxItems: 7 >> >> clock-names: >> - minItems: 2 >> + minItems: 1 >> maxItems: 7 >> >> reg: >> @@ -387,6 +387,34 @@ allOf: >> required: >> - clocks >> - clock-names >> + >> + - if: >> + properties: >> + compatible: >> + contains: >> + const: qcom,adreno-612.0 >> + then: >> + properties: >> + clocks: >> + items: >> + - description: GPU Core clock >> + >> + clock-names: >> + items: >> + - const: core >> + >> + reg: >> + items: >> + - description: GPU Reg memory >> + >> + reg-names: >> + items: >> + - const: kgsl_3d0_reg_memory > > What happened with the second entry? Please describe the hardware > COMPLETELY (see writing bindings doc). We can describe cx_mem and cx_dbgc too here. Then it matches the common schema described at the top of this file. In that case, do we need to re-describe it here or we can just remove both reg and reg-names properties here? -Akhil. > > Best regards, > Krzysztof >
© 2016 - 2025 Red Hat, Inc.