18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# Copyright 2019-2020, The Linux Foundation, All Rights Reserved 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/display/msm/gmu.yaml#" 78c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cititle: Devicetree bindings for the GMU attached to certain Adreno GPUs 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cimaintainers: 128c2ecf20Sopenharmony_ci - Rob Clark <robdclark@gmail.com> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cidescription: | 158c2ecf20Sopenharmony_ci These bindings describe the Graphics Management Unit (GMU) that is attached 168c2ecf20Sopenharmony_ci to members of the Adreno A6xx GPU family. The GMU provides on-device power 178c2ecf20Sopenharmony_ci management and support to improve power efficiency and reduce the load on 188c2ecf20Sopenharmony_ci the CPU. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciproperties: 218c2ecf20Sopenharmony_ci compatible: 228c2ecf20Sopenharmony_ci items: 238c2ecf20Sopenharmony_ci - enum: 248c2ecf20Sopenharmony_ci - qcom,adreno-gmu-630.2 258c2ecf20Sopenharmony_ci - const: qcom,adreno-gmu 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci reg: 288c2ecf20Sopenharmony_ci items: 298c2ecf20Sopenharmony_ci - description: Core GMU registers 308c2ecf20Sopenharmony_ci - description: GMU PDC registers 318c2ecf20Sopenharmony_ci - description: GMU PDC sequence registers 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci reg-names: 348c2ecf20Sopenharmony_ci items: 358c2ecf20Sopenharmony_ci - const: gmu 368c2ecf20Sopenharmony_ci - const: gmu_pdc 378c2ecf20Sopenharmony_ci - const: gmu_pdc_seq 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci clocks: 408c2ecf20Sopenharmony_ci items: 418c2ecf20Sopenharmony_ci - description: GMU clock 428c2ecf20Sopenharmony_ci - description: GPU CX clock 438c2ecf20Sopenharmony_ci - description: GPU AXI clock 448c2ecf20Sopenharmony_ci - description: GPU MEMNOC clock 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci clock-names: 478c2ecf20Sopenharmony_ci items: 488c2ecf20Sopenharmony_ci - const: gmu 498c2ecf20Sopenharmony_ci - const: cxo 508c2ecf20Sopenharmony_ci - const: axi 518c2ecf20Sopenharmony_ci - const: memnoc 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci interrupts: 548c2ecf20Sopenharmony_ci items: 558c2ecf20Sopenharmony_ci - description: GMU HFI interrupt 568c2ecf20Sopenharmony_ci - description: GMU interrupt 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci interrupt-names: 608c2ecf20Sopenharmony_ci items: 618c2ecf20Sopenharmony_ci - const: hfi 628c2ecf20Sopenharmony_ci - const: gmu 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci power-domains: 658c2ecf20Sopenharmony_ci items: 668c2ecf20Sopenharmony_ci - description: CX power domain 678c2ecf20Sopenharmony_ci - description: GX power domain 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci power-domain-names: 708c2ecf20Sopenharmony_ci items: 718c2ecf20Sopenharmony_ci - const: cx 728c2ecf20Sopenharmony_ci - const: gx 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci iommus: 758c2ecf20Sopenharmony_ci maxItems: 1 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci operating-points-v2: true 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_cirequired: 808c2ecf20Sopenharmony_ci - compatible 818c2ecf20Sopenharmony_ci - reg 828c2ecf20Sopenharmony_ci - reg-names 838c2ecf20Sopenharmony_ci - clocks 848c2ecf20Sopenharmony_ci - clock-names 858c2ecf20Sopenharmony_ci - interrupts 868c2ecf20Sopenharmony_ci - interrupt-names 878c2ecf20Sopenharmony_ci - power-domains 888c2ecf20Sopenharmony_ci - power-domain-names 898c2ecf20Sopenharmony_ci - iommus 908c2ecf20Sopenharmony_ci - operating-points-v2 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciadditionalProperties: false 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ciexamples: 958c2ecf20Sopenharmony_ci - | 968c2ecf20Sopenharmony_ci #include <dt-bindings/clock/qcom,gpucc-sdm845.h> 978c2ecf20Sopenharmony_ci #include <dt-bindings/clock/qcom,gcc-sdm845.h> 988c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 998c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci gmu: gmu@506a000 { 1028c2ecf20Sopenharmony_ci compatible="qcom,adreno-gmu-630.2", "qcom,adreno-gmu"; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci reg = <0x506a000 0x30000>, 1058c2ecf20Sopenharmony_ci <0xb280000 0x10000>, 1068c2ecf20Sopenharmony_ci <0xb480000 0x10000>; 1078c2ecf20Sopenharmony_ci reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq"; 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci clocks = <&gpucc GPU_CC_CX_GMU_CLK>, 1108c2ecf20Sopenharmony_ci <&gpucc GPU_CC_CXO_CLK>, 1118c2ecf20Sopenharmony_ci <&gcc GCC_DDRSS_GPU_AXI_CLK>, 1128c2ecf20Sopenharmony_ci <&gcc GCC_GPU_MEMNOC_GFX_CLK>; 1138c2ecf20Sopenharmony_ci clock-names = "gmu", "cxo", "axi", "memnoc"; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>, 1168c2ecf20Sopenharmony_ci <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>; 1178c2ecf20Sopenharmony_ci interrupt-names = "hfi", "gmu"; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci power-domains = <&gpucc GPU_CX_GDSC>, 1208c2ecf20Sopenharmony_ci <&gpucc GPU_GX_GDSC>; 1218c2ecf20Sopenharmony_ci power-domain-names = "cx", "gx"; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci iommus = <&adreno_smmu 5>; 1248c2ecf20Sopenharmony_ci operating-points-v2 = <&gmu_opp_table>; 1258c2ecf20Sopenharmony_ci }; 126