1# SPDX-License-Identifier: GPL-2.0-only 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpu/arm,mali-midgard.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: ARM Mali Midgard GPU 8 9maintainers: 10 - Rob Herring <robh@kernel.org> 11 12properties: 13 $nodename: 14 pattern: '^gpu@[a-f0-9]+$' 15 compatible: 16 oneOf: 17 - items: 18 - enum: 19 - samsung,exynos5250-mali 20 - const: arm,mali-t604 21 - items: 22 - enum: 23 - samsung,exynos5420-mali 24 - const: arm,mali-t628 25 - items: 26 - enum: 27 - allwinner,sun50i-h6-mali 28 - const: arm,mali-t720 29 - items: 30 - enum: 31 - amlogic,meson-gxm-mali 32 - realtek,rtd1295-mali 33 - const: arm,mali-t820 34 - items: 35 - enum: 36 - arm,juno-mali 37 - const: arm,mali-t624 38 - items: 39 - enum: 40 - rockchip,rk3288-mali 41 - samsung,exynos5433-mali 42 - const: arm,mali-t760 43 - items: 44 - enum: 45 - samsung,exynos7-mali 46 - const: samsung,exynos5433-mali 47 - const: arm,mali-t760 48 - items: 49 - enum: 50 - samsung,exynos7870-mali 51 - const: arm,mali-t830 52 - items: 53 - enum: 54 - rockchip,rk3399-mali 55 - const: arm,mali-t860 56 57 # "arm,mali-t880" 58 59 reg: 60 maxItems: 1 61 62 interrupts: 63 items: 64 - description: Job interrupt 65 - description: MMU interrupt 66 - description: GPU interrupt 67 68 interrupt-names: 69 items: 70 - const: job 71 - const: mmu 72 - const: gpu 73 74 clocks: 75 minItems: 1 76 maxItems: 2 77 78 clock-names: 79 minItems: 1 80 items: 81 - const: core 82 - const: bus 83 84 mali-supply: true 85 opp-table: 86 type: object 87 88 power-domains: 89 maxItems: 1 90 91 resets: 92 minItems: 1 93 maxItems: 2 94 95 operating-points-v2: true 96 97 "#cooling-cells": 98 const: 2 99 100 dma-coherent: true 101 102 dynamic-power-coefficient: 103 $ref: /schemas/types.yaml#/definitions/uint32 104 description: 105 A u32 value that represents the running time dynamic 106 power coefficient in units of uW/MHz/V^2. The 107 coefficient can either be calculated from power 108 measurements or derived by analysis. 109 110 The dynamic power consumption of the GPU is 111 proportional to the square of the Voltage (V) and 112 the clock frequency (f). The coefficient is used to 113 calculate the dynamic power as below - 114 115 Pdyn = dynamic-power-coefficient * V^2 * f 116 117 where voltage is in V, frequency is in MHz. 118 119required: 120 - compatible 121 - reg 122 - interrupts 123 - interrupt-names 124 - clocks 125 126additionalProperties: false 127 128allOf: 129 - if: 130 properties: 131 compatible: 132 contains: 133 const: allwinner,sun50i-h6-mali 134 then: 135 properties: 136 clocks: 137 minItems: 2 138 required: 139 - clock-names 140 - resets 141 - if: 142 properties: 143 compatible: 144 contains: 145 const: amlogic,meson-gxm-mali 146 then: 147 properties: 148 resets: 149 minItems: 2 150 required: 151 - resets 152 153examples: 154 - | 155 #include <dt-bindings/interrupt-controller/irq.h> 156 #include <dt-bindings/interrupt-controller/arm-gic.h> 157 158 gpu@ffa30000 { 159 compatible = "rockchip,rk3288-mali", "arm,mali-t760"; 160 reg = <0xffa30000 0x10000>; 161 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 162 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 163 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 164 interrupt-names = "job", "mmu", "gpu"; 165 clocks = <&cru 0>; 166 mali-supply = <&vdd_gpu>; 167 operating-points-v2 = <&gpu_opp_table>; 168 power-domains = <&power 0>; 169 #cooling-cells = <2>; 170 }; 171 172 gpu_opp_table: opp-table { 173 compatible = "operating-points-v2"; 174 175 opp-533000000 { 176 opp-hz = /bits/ 64 <533000000>; 177 opp-microvolt = <1250000>; 178 }; 179 opp-450000000 { 180 opp-hz = /bits/ 64 <450000000>; 181 opp-microvolt = <1150000>; 182 }; 183 opp-400000000 { 184 opp-hz = /bits/ 64 <400000000>; 185 opp-microvolt = <1125000>; 186 }; 187 opp-350000000 { 188 opp-hz = /bits/ 64 <350000000>; 189 opp-microvolt = <1075000>; 190 }; 191 opp-266000000 { 192 opp-hz = /bits/ 64 <266000000>; 193 opp-microvolt = <1025000>; 194 }; 195 opp-160000000 { 196 opp-hz = /bits/ 64 <160000000>; 197 opp-microvolt = <925000>; 198 }; 199 opp-100000000 { 200 opp-hz = /bits/ 64 <100000000>; 201 opp-microvolt = <912500>; 202 }; 203 }; 204 205... 206