[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f08c8707-eb72-4689-b53b-acd6e3218836@oss.qualcomm.com>
Date: Fri, 14 Nov 2025 17:30:30 +0530
From: Akhil P Oommen <akhilpo@....qualcomm.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Rob Clark <robin.clark@....qualcomm.com>, Sean Paul <sean@...rly.run>,
Konrad Dybcio <konradybcio@...nel.org>,
Dmitry Baryshkov <lumag@...nel.org>,
Abhinav Kumar <abhinav.kumar@...ux.dev>,
Marijn Suijten <marijn.suijten@...ainline.org>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Jessica Zhang <jesszhan0024@...il.com>,
Dan Carpenter <dan.carpenter@...aro.org>,
linux-arm-msm@...r.kernel.org, dri-devel@...ts.freedesktop.org,
freedreno@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, Jie Zhang <jie.zhang@....qualcomm.com>
Subject: Re: [PATCH v2 3/6] dt-bindings: display/msm/rgmu: Document A612 RGMU
On 11/10/2025 1:21 PM, Krzysztof Kozlowski wrote:
> On Fri, Nov 07, 2025 at 02:20:08AM +0530, Akhil P Oommen wrote:
>> From: Jie Zhang <jie.zhang@....qualcomm.com>
>>
>> RGMU a.k.a Reduced Graphics Management Unit is a small state machine
>> with the sole purpose of providing IFPC (Inter Frame Power Collapse)
>> support. Compared to GMU, it doesn't manage GPU clock, voltage
>> scaling, bw voting or any other functionalities. All it does is detect
>> an idle GPU and toggle the GDSC switch. As it doesn't access DDR space,
>> it doesn't require iommu.
>>
>> So far, only Adreno 612 GPU has an RGMU core. Document RGMU in the GMU's
>> schema.
>>
>> Signed-off-by: Jie Zhang <jie.zhang@....qualcomm.com>
>> Signed-off-by: Akhil P Oommen <akhilpo@....qualcomm.com>
>> ---
>> .../devicetree/bindings/display/msm/rgmu.yaml | 131 +++++++++++++++++++++
>> MAINTAINERS | 1 +
>> 2 files changed, 132 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/display/msm/rgmu.yaml b/Documentation/devicetree/bindings/display/msm/rgmu.yaml
>> new file mode 100644
>> index 000000000000..7621556477d0
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/msm/rgmu.yaml
>
> Filename matching compatible, so qcom,adreno-rgmu.yaml
>
>
>> @@ -0,0 +1,131 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>> +%YAML 1.2
>> +---
>> +
>> +$id: http://devicetree.org/schemas/display/msm/rgmu.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: RGMU attached to certain Adreno GPUs
>> +
>> +maintainers:
>> + - Rob Clark <robin.clark@....qualcomm.com>
>> +
>> +description: |
>
> Do not need '|' unless you need to preserve formatting.
>
>> + RGMU (Reduced Graphics Management Unit) IP is present in some GPUs that
>> + belong to Adreno A6xx family. It is a small state machine that helps to
>> + toggle the GX GDSC (connected to CX rail) to implement IFPC feature and save
>> + power.
>> +
>> +properties:
>> + compatible:
>> + items:
>> + - const: qcom,adreno-rgmu-612.0
>> + - const: qcom,adreno-rgmu
>> +
>> + reg:
>> + items:
>> + - description: Core RGMU registers
>> +
>> + reg-names:
>> + items:
>> + - const: gmu
>
> Drop reg-names, useless for one entry with same name as the block name.
Just to confirm, drop only reg-names, but keep 'reg'?
-Akhil
>
>> +
>> + clocks:
>> + items:
>> + - description: GMU clock
>> + - description: GPU CX clock
>> + - description: GPU AXI clock
>> + - description: GPU MEMNOC clock
>> + - description: GPU SMMU vote clock
>> +
>> + clock-names:
>> + items:
>> + - const: gmu
>> + - const: cxo
>> + - const: axi
>> + - const: memnoc
>> + - const: smmu_vote
>> +
>> + power-domains:
>> + items:
>> + - description: CX GDSC power domain
>> + - description: GX GDSC power domain
>> +
>> + power-domain-names:
>> + items:
>> + - const: cx
>> + - const: gx
>> +
>> + interrupts:
>> + items:
>> + - description: GMU OOB interrupt
>> + - description: GMU interrupt
>> +
>> + interrupt-names:
>> + items:
>> + - const: oob
>> + - const: gmu
>> +
>> + operating-points-v2: true
>> + opp-table:
>> + type: object
>> +
>> +required:
>
> compatible
>
>> + - reg
>> + - reg-names
>> + - clocks
>> + - clock-names
>> + - power-domains
>> + - power-domain-names
>> + - interrupts
>> + - interrupt-names
>
> Keep the same order as in properties.
>
>> + - operating-points-v2
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/clock/qcom,qcs615-gpucc.h>
>> + #include <dt-bindings/clock/qcom,qcs615-gcc.h>
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> + #include <dt-bindings/power/qcom,rpmhpd.h>
>> +
>> + rgmu: rgmu@...a000 {
>
> Drop label.
>
> Node names should be generic. See also an explanation and list of
> examples (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> If you cannot find a name matching your device, please check in kernel
> sources for similar cases or you can grow the spec (via pull request to
> DT spec repo).
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists