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