203 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only2%YAML 1.23---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 GPU8 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-mali20 - const: arm,mali-t60421 - items:22 - enum:23 - samsung,exynos5420-mali24 - const: arm,mali-t62825 - items:26 - enum:27 - allwinner,sun50i-h6-mali28 - const: arm,mali-t72029 - items:30 - enum:31 - amlogic,meson-gxm-mali32 - realtek,rtd1295-mali33 - const: arm,mali-t82034 - items:35 - enum:36 - arm,juno-mali37 - const: arm,mali-t62438 - items:39 - enum:40 - rockchip,rk3288-mali41 - samsung,exynos5433-mali42 - const: arm,mali-t76043 - items:44 - enum:45 - samsung,exynos7-mali46 - const: samsung,exynos5433-mali47 - const: arm,mali-t76048 - items:49 - enum:50 - rockchip,rk3399-mali51 - const: arm,mali-t86052 53 # "arm,mali-t830"54 # "arm,mali-t880"55 56 reg:57 maxItems: 158 59 interrupts:60 items:61 - description: Job interrupt62 - description: MMU interrupt63 - description: GPU interrupt64 65 interrupt-names:66 items:67 - const: job68 - const: mmu69 - const: gpu70 71 clocks:72 minItems: 173 maxItems: 274 75 clock-names:76 minItems: 177 items:78 - const: core79 - const: bus80 81 mali-supply: true82 opp-table:83 type: object84 85 power-domains:86 maxItems: 187 88 resets:89 minItems: 190 maxItems: 291 92 operating-points-v2: true93 94 "#cooling-cells":95 const: 296 97 dma-coherent: true98 99 dynamic-power-coefficient:100 $ref: /schemas/types.yaml#/definitions/uint32101 description:102 A u32 value that represents the running time dynamic103 power coefficient in units of uW/MHz/V^2. The104 coefficient can either be calculated from power105 measurements or derived by analysis.106 107 The dynamic power consumption of the GPU is108 proportional to the square of the Voltage (V) and109 the clock frequency (f). The coefficient is used to110 calculate the dynamic power as below -111 112 Pdyn = dynamic-power-coefficient * V^2 * f113 114 where voltage is in V, frequency is in MHz.115 116required:117 - compatible118 - reg119 - interrupts120 - interrupt-names121 - clocks122 123additionalProperties: false124 125allOf:126 - if:127 properties:128 compatible:129 contains:130 const: allwinner,sun50i-h6-mali131 then:132 properties:133 clocks:134 minItems: 2135 required:136 - clock-names137 - resets138 - if:139 properties:140 compatible:141 contains:142 const: amlogic,meson-gxm-mali143 then:144 properties:145 resets:146 minItems: 2147 required:148 - resets149 150examples:151 - |152 #include <dt-bindings/interrupt-controller/irq.h>153 #include <dt-bindings/interrupt-controller/arm-gic.h>154 155 gpu@ffa30000 {156 compatible = "rockchip,rk3288-mali", "arm,mali-t760";157 reg = <0xffa30000 0x10000>;158 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,159 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,160 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;161 interrupt-names = "job", "mmu", "gpu";162 clocks = <&cru 0>;163 mali-supply = <&vdd_gpu>;164 operating-points-v2 = <&gpu_opp_table>;165 power-domains = <&power 0>;166 #cooling-cells = <2>;167 };168 169 gpu_opp_table: opp-table {170 compatible = "operating-points-v2";171 172 opp-533000000 {173 opp-hz = /bits/ 64 <533000000>;174 opp-microvolt = <1250000>;175 };176 opp-450000000 {177 opp-hz = /bits/ 64 <450000000>;178 opp-microvolt = <1150000>;179 };180 opp-400000000 {181 opp-hz = /bits/ 64 <400000000>;182 opp-microvolt = <1125000>;183 };184 opp-350000000 {185 opp-hz = /bits/ 64 <350000000>;186 opp-microvolt = <1075000>;187 };188 opp-266000000 {189 opp-hz = /bits/ 64 <266000000>;190 opp-microvolt = <1025000>;191 };192 opp-160000000 {193 opp-hz = /bits/ 64 <160000000>;194 opp-microvolt = <925000>;195 };196 opp-100000000 {197 opp-hz = /bits/ 64 <100000000>;198 opp-microvolt = <912500>;199 };200 };201 202...203