Skip to content

Commit 2b17d0a

Browse files
Jie Zhangquic-rajeshk
authored andcommitted
FROMLIST: dt-bindings: display/msm/rgmu: Document A612 RGMU
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 it in qcom,adreno-rgmu.yaml. Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20251204-qcs615-spin-2-v4-4-f5a00c5b663f@oss.qualcomm.com
1 parent 647adea commit 2b17d0a

File tree

2 files changed

+127
-0
lines changed

2 files changed

+127
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
3+
%YAML 1.2
4+
---
5+
6+
$id: http://devicetree.org/schemas/display/msm/qcom,adreno-rgmu.yaml#
7+
$schema: http://devicetree.org/meta-schemas/core.yaml#
8+
9+
title: RGMU attached to certain Adreno GPUs
10+
11+
maintainers:
12+
- Rob Clark <robin.clark@oss.qualcomm.com>
13+
14+
description:
15+
RGMU (Reduced Graphics Management Unit) IP is present in some GPUs that
16+
belong to Adreno A6xx family. It is a small state machine that helps to
17+
toggle the GX GDSC (connected to CX rail) to implement IFPC feature and save
18+
power.
19+
20+
properties:
21+
compatible:
22+
items:
23+
- const: qcom,adreno-rgmu-612.0
24+
- const: qcom,adreno-rgmu
25+
26+
reg:
27+
items:
28+
- description: Core RGMU registers
29+
30+
clocks:
31+
items:
32+
- description: GMU clock
33+
- description: GPU CX clock
34+
- description: GPU AXI clock
35+
- description: GPU MEMNOC clock
36+
- description: GPU SMMU vote clock
37+
38+
clock-names:
39+
items:
40+
- const: gmu
41+
- const: cxo
42+
- const: axi
43+
- const: memnoc
44+
- const: smmu_vote
45+
46+
power-domains:
47+
items:
48+
- description: CX GDSC power domain
49+
- description: GX GDSC power domain
50+
51+
power-domain-names:
52+
items:
53+
- const: cx
54+
- const: gx
55+
56+
interrupts:
57+
items:
58+
- description: GMU OOB interrupt
59+
- description: GMU interrupt
60+
61+
interrupt-names:
62+
items:
63+
- const: oob
64+
- const: gmu
65+
66+
operating-points-v2: true
67+
opp-table:
68+
type: object
69+
70+
required:
71+
- compatible
72+
- reg
73+
- clocks
74+
- clock-names
75+
- power-domains
76+
- power-domain-names
77+
- interrupts
78+
- interrupt-names
79+
- operating-points-v2
80+
81+
additionalProperties: false
82+
83+
examples:
84+
- |
85+
#include <dt-bindings/clock/qcom,qcs615-gpucc.h>
86+
#include <dt-bindings/clock/qcom,qcs615-gcc.h>
87+
#include <dt-bindings/interrupt-controller/arm-gic.h>
88+
#include <dt-bindings/power/qcom,rpmhpd.h>
89+
90+
gmu@506a000 {
91+
compatible = "qcom,adreno-rgmu-612.0", "qcom,adreno-rgmu";
92+
93+
reg = <0x05000000 0x90000>;
94+
95+
clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
96+
<&gpucc GPU_CC_CXO_CLK>,
97+
<&gcc GCC_DDRSS_GPU_AXI_CLK>,
98+
<&gcc GCC_GPU_MEMNOC_GFX_CLK>,
99+
<&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>;
100+
clock-names = "gmu",
101+
"cxo",
102+
"axi",
103+
"memnoc",
104+
"smmu_vote";
105+
106+
power-domains = <&gpucc CX_GDSC>,
107+
<&gpucc GX_GDSC>;
108+
power-domain-names = "cx",
109+
"gx";
110+
111+
interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
112+
<GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
113+
interrupt-names = "oob",
114+
"gmu";
115+
116+
operating-points-v2 = <&gmu_opp_table>;
117+
118+
gmu_opp_table: opp-table {
119+
compatible = "operating-points-v2";
120+
121+
opp-200000000 {
122+
opp-hz = /bits/ 64 <200000000>;
123+
required-opps = <&rpmhpd_opp_low_svs>;
124+
};
125+
};
126+
};

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7882,6 +7882,7 @@ S: Maintained
78827882
B: https://gitlab.freedesktop.org/drm/msm/-/issues
78837883
T: git https://gitlab.freedesktop.org/drm/msm.git
78847884
F: Documentation/devicetree/bindings/display/msm/gpu.yaml
7885+
F: Documentation/devicetree/bindings/display/msm/qcom,adreno-rgmu.yaml
78857886
F: Documentation/devicetree/bindings/opp/opp-v2-qcom-adreno.yaml
78867887
F: drivers/gpu/drm/msm/adreno/
78877888
F: drivers/gpu/drm/msm/msm_gpu.*

0 commit comments

Comments
 (0)