1 # SPDX-License-Identifier: GPL-2.0-only
2 # Copyright 2019-2020, The Linux Foundation, All Rights Reserved
6 $id: http://devicetree.org/schemas/display/msm/gmu.yaml#
7 $schema: http://devicetree.org/meta-schemas/core.yaml#
9 title: GMU attached to certain Adreno GPUs
12 - Rob Clark <robdclark@gmail.com>
15 These bindings describe the Graphics Management Unit (GMU) that is attached
16 to members of the Adreno A6xx GPU family. The GMU provides on-device power
17 management and support to improve power efficiency and reduce the load on
24 - pattern: '^qcom,adreno-gmu-[67][0-9][0-9]\.[0-9]$'
25 - const: qcom,adreno-gmu
27 - pattern: '^qcom,adreno-gmu-x[1-9][0-9][0-9]\.[0-9]$'
28 - const: qcom,adreno-gmu
29 - const: qcom,adreno-gmu-wrapper
49 - description: GMU HFI interrupt
50 - description: GMU interrupt
59 - description: CX power domain
60 - description: GX power domain
71 $ref: /schemas/types.yaml#/definitions/phandle
72 description: Reference to the AOSS side-channel message RAM
74 operating-points-v2: true
86 additionalProperties: false
94 - qcom,adreno-gmu-618.0
95 - qcom,adreno-gmu-630.2
100 - description: Core GMU registers
101 - description: GMU PDC registers
102 - description: GMU PDC sequence registers
110 - description: GMU clock
111 - description: GPU CX clock
112 - description: GPU AXI clock
113 - description: GPU MEMNOC clock
126 - qcom,adreno-gmu-635.0
127 - qcom,adreno-gmu-660.1
132 - description: Core GMU registers
133 - description: Resource controller registers
134 - description: GMU PDC registers
142 - description: GMU clock
143 - description: GPU CX clock
144 - description: GPU AXI clock
145 - description: GPU MEMNOC clock
146 - description: GPU AHB clock
147 - description: GPU HUB CX clock
148 - description: GPU SMMU vote clock
164 - qcom,adreno-gmu-640.1
169 - description: Core GMU registers
170 - description: GMU PDC registers
171 - description: GMU PDC sequence registers
183 - qcom,adreno-gmu-650.2
188 - description: Core GMU registers
189 - description: Resource controller registers
190 - description: GMU PDC registers
191 - description: GMU PDC sequence registers
204 - qcom,adreno-gmu-640.1
205 - qcom,adreno-gmu-650.2
210 - description: GPU AHB clock
211 - description: GMU clock
212 - description: GPU CX clock
213 - description: GPU AXI clock
214 - description: GPU MEMNOC clock
228 - qcom,adreno-gmu-730.1
229 - qcom,adreno-gmu-740.1
230 - qcom,adreno-gmu-750.1
231 - qcom,adreno-gmu-x185.1
236 - description: Core GMU registers
237 - description: Resource controller registers
238 - description: GMU PDC registers
246 - description: GPU AHB clock
247 - description: GMU clock
248 - description: GPU CX clock
249 - description: GPU AXI clock
250 - description: GPU MEMNOC clock
251 - description: GMU HUB clock
252 - description: GPUSS DEMET clock
270 const: qcom,adreno-gmu-wrapper
275 - description: GMU wrapper register space
286 - operating-points-v2
290 #include <dt-bindings/clock/qcom,gpucc-sdm845.h>
291 #include <dt-bindings/clock/qcom,gcc-sdm845.h>
292 #include <dt-bindings/interrupt-controller/irq.h>
293 #include <dt-bindings/interrupt-controller/arm-gic.h>
296 compatible = "qcom,adreno-gmu-630.2", "qcom,adreno-gmu";
298 reg = <0x506a000 0x30000>,
301 reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq";
303 clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
304 <&gpucc GPU_CC_CXO_CLK>,
305 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
306 <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
307 clock-names = "gmu", "cxo", "axi", "memnoc";
309 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
310 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
311 interrupt-names = "hfi", "gmu";
313 power-domains = <&gpucc GPU_CX_GDSC>,
314 <&gpucc GPU_GX_GDSC>;
315 power-domain-names = "cx", "gx";
317 iommus = <&adreno_smmu 5>;
318 operating-points-v2 = <&gmu_opp_table>;
321 gmu_wrapper: gmu@596a000 {
322 compatible = "qcom,adreno-gmu-wrapper";
323 reg = <0x0596a000 0x30000>;
325 power-domains = <&gpucc GPU_CX_GDSC>,
326 <&gpucc GPU_GX_GDSC>;
327 power-domain-names = "cx", "gx";