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 - interconnects: optional phandle to an interconnect provider. See
26 ../interconnect/interconnect.txt for details. Some A3xx and all A4xx platforms
27 will have two paths; all others will have one path.
28 - interconnect-names: The names of the interconnect paths that correspond to the
29 interconnects property. Values must be gfx-mem and ocmem.
30 - qcom,gmu: For GMU attached devices a phandle to the GMU device that will
31 control the power for the GPU. Applicable targets:
33 - zap-shader: For a5xx and a6xx devices this node contains a memory-region that
34 points to reserved memory to store the zap shader that can be used to help
35 bring the GPU out of secure mode.
36 - firmware-name: optional property of the 'zap-shader' node, listing the
37 relative path of the device specific zap firmware.
44 gpu: qcom,kgsl-3d0@4300000 {
45 compatible = "qcom,adreno-320.2", "qcom,adreno";
46 reg = <0x04300000 0x20000>;
47 reg-names = "kgsl_3d0_reg_memory";
48 interrupts = <GIC_SPI 80 0>;
55 <&mmcc GFX3D_AHB_CLK>,
56 <&mmcc MMSS_IMEM_AHB_CLK>;
60 Example a6xx (with GMU):
66 compatible = "qcom,adreno-630.2", "qcom,adreno";
67 #stream-id-cells = <16>;
69 reg = <0x5000000 0x40000>, <0x509e000 0x10>;
70 reg-names = "kgsl_3d0_reg_memory", "cx_mem";
73 * Look ma, no clocks! The GPU clocks and power are
74 * controlled entirely by the GMU
77 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
79 iommus = <&adreno_smmu 0>;
81 operating-points-v2 = <&gpu_opp_table>;
83 interconnects = <&rsc_hlos MASTER_GFX3D &rsc_hlos SLAVE_EBI1>;
84 interconnect-names = "gfx-mem";
89 memory-region = <&zap_shader_region>;
90 firmware-name = "qcom/LENOVO/81JL/qcdxkmsuc850.mbn"