1 Qualcomm adreno/snapdragon GPU
4 - compatible: "qcom,adreno-XYZ.W", "qcom,adreno" or
5 "amd,imageon-XYZ.W", "amd,imageon"
6 for example: "qcom,adreno-306.0", "qcom,adreno"
7 Note that you need to list the less specific "qcom,adreno" (since this
8 is what the device is matched on), in addition to the more specific
10 If "amd,imageon" is used, there should be no top level msm device.
11 - reg: Physical base address and length of the controller's registers.
12 - interrupts: The interrupt signal from the gpu.
13 - clocks: device clocks (if applicable)
14 See ../clocks/clock-bindings.txt for details.
15 - clock-names: the following clocks are required by a3xx, a4xx and a5xx
20 For GMU attached devices the GPU clocks are not used and are not required. The
21 following devices should not list clocks:
23 - iommus: optional phandle to an adreno iommu instance
24 - operating-points-v2: optional phandle to the OPP operating points
25 - qcom,gmu: For GMU attached devices a phandle to the GMU device that will
26 control the power for the GPU. Applicable targets:
34 gpu: qcom,kgsl-3d0@4300000 {
35 compatible = "qcom,adreno-320.2", "qcom,adreno";
36 reg = <0x04300000 0x20000>;
37 reg-names = "kgsl_3d0_reg_memory";
38 interrupts = <GIC_SPI 80 0>;
45 <&mmcc GFX3D_AHB_CLK>,
46 <&mmcc MMSS_IMEM_AHB_CLK>;
50 Example a6xx (with GMU):
56 compatible = "qcom,adreno-630.2", "qcom,adreno";
57 #stream-id-cells = <16>;
59 reg = <0x5000000 0x40000>, <0x509e000 0x10>;
60 reg-names = "kgsl_3d0_reg_memory", "cx_mem";
63 * Look ma, no clocks! The GPU clocks and power are
64 * controlled entirely by the GMU
67 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
69 iommus = <&adreno_smmu 0>;
71 operating-points-v2 = <&gpu_opp_table>;