Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 # Copyright 2019-2020, The Linux Foundation, All Rights Reserved
0003 %YAML 1.2
0004 ---
0005 
0006 $id: "http://devicetree.org/schemas/display/msm/gmu.yaml#"
0007 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0008 
0009 title: Devicetree bindings for the GMU attached to certain Adreno GPUs
0010 
0011 maintainers:
0012   - Rob Clark <robdclark@gmail.com>
0013 
0014 description: |
0015   These bindings describe the Graphics Management Unit (GMU) that is attached
0016   to members of the Adreno A6xx GPU family. The GMU provides on-device power
0017   management and support to improve power efficiency and reduce the load on
0018   the CPU.
0019 
0020 properties:
0021   compatible:
0022     items:
0023       - enum:
0024           - qcom,adreno-gmu-630.2
0025       - const: qcom,adreno-gmu
0026 
0027   reg:
0028     items:
0029       - description: Core GMU registers
0030       - description: GMU PDC registers
0031       - description: GMU PDC sequence registers
0032 
0033   reg-names:
0034     items:
0035       - const: gmu
0036       - const: gmu_pdc
0037       - const: gmu_pdc_seq
0038 
0039   clocks:
0040     items:
0041       - description: GMU clock
0042       - description: GPU CX clock
0043       - description: GPU AXI clock
0044       - description: GPU MEMNOC clock
0045 
0046   clock-names:
0047     items:
0048       - const: gmu
0049       - const: cxo
0050       - const: axi
0051       - const: memnoc
0052 
0053   interrupts:
0054     items:
0055       - description: GMU HFI interrupt
0056       - description: GMU interrupt
0057 
0058 
0059   interrupt-names:
0060     items:
0061       - const: hfi
0062       - const: gmu
0063 
0064   power-domains:
0065     items:
0066       - description: CX power domain
0067       - description: GX power domain
0068 
0069   power-domain-names:
0070     items:
0071       - const: cx
0072       - const: gx
0073 
0074   iommus:
0075     maxItems: 1
0076 
0077   operating-points-v2: true
0078 
0079 required:
0080   - compatible
0081   - reg
0082   - reg-names
0083   - clocks
0084   - clock-names
0085   - interrupts
0086   - interrupt-names
0087   - power-domains
0088   - power-domain-names
0089   - iommus
0090   - operating-points-v2
0091 
0092 additionalProperties: false
0093 
0094 examples:
0095   - |
0096     #include <dt-bindings/clock/qcom,gpucc-sdm845.h>
0097     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
0098     #include <dt-bindings/interrupt-controller/irq.h>
0099     #include <dt-bindings/interrupt-controller/arm-gic.h>
0100 
0101     gmu: gmu@506a000 {
0102         compatible="qcom,adreno-gmu-630.2", "qcom,adreno-gmu";
0103 
0104         reg = <0x506a000 0x30000>,
0105               <0xb280000 0x10000>,
0106               <0xb480000 0x10000>;
0107         reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq";
0108 
0109         clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
0110                  <&gpucc GPU_CC_CXO_CLK>,
0111                  <&gcc GCC_DDRSS_GPU_AXI_CLK>,
0112                  <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
0113         clock-names = "gmu", "cxo", "axi", "memnoc";
0114 
0115         interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
0116                      <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
0117         interrupt-names = "hfi", "gmu";
0118 
0119         power-domains = <&gpucc GPU_CX_GDSC>,
0120                         <&gpucc GPU_GX_GDSC>;
0121         power-domain-names = "cx", "gx";
0122 
0123         iommus = <&adreno_smmu 5>;
0124         operating-points-v2 = <&gmu_opp_table>;
0125     };