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 << 46 - const: samsung,exynos5433-mali << 47 - const: arm,mali-t760 << 48 - items: << 49 - enum: << 50 - rockchip,rk3399-mali 45 - rockchip,rk3399-mali 51 - const: arm,mali-t860 46 - const: arm,mali-t860 52 47 53 # "arm,mali-t830" 48 # "arm,mali-t830" 54 # "arm,mali-t880" 49 # "arm,mali-t880" 55 50 56 reg: 51 reg: 57 maxItems: 1 52 maxItems: 1 58 53 59 interrupts: 54 interrupts: 60 items: 55 items: 61 - description: Job interrupt 56 - description: Job interrupt 62 - description: MMU interrupt 57 - description: MMU interrupt 63 - description: GPU interrupt 58 - description: GPU interrupt 64 59 65 interrupt-names: 60 interrupt-names: 66 items: 61 items: 67 - const: job 62 - const: job 68 - const: mmu 63 - const: mmu 69 - const: gpu 64 - const: gpu 70 65 71 clocks: 66 clocks: 72 minItems: 1 67 minItems: 1 73 maxItems: 2 68 maxItems: 2 74 69 75 clock-names: 70 clock-names: 76 minItems: 1 71 minItems: 1 77 items: 72 items: 78 - const: core 73 - const: core 79 - const: bus 74 - const: bus 80 75 81 mali-supply: true 76 mali-supply: true 82 opp-table: << 83 type: object << 84 77 85 power-domains: 78 power-domains: 86 maxItems: 1 79 maxItems: 1 87 80 88 resets: 81 resets: 89 minItems: 1 82 minItems: 1 90 maxItems: 2 83 maxItems: 2 91 84 92 operating-points-v2: true 85 operating-points-v2: true 93 86 94 "#cooling-cells": 87 "#cooling-cells": 95 const: 2 88 const: 2 96 89 97 dma-coherent: true 90 dma-coherent: true 98 91 99 dynamic-power-coefficient: << 100 $ref: /schemas/types.yaml#/definitions/uin << 101 description: << 102 A u32 value that represents the running << 103 power coefficient in units of uW/MHz/V^2 << 104 coefficient can either be calculated fro << 105 measurements or derived by analysis. << 106 << 107 The dynamic power consumption of the GPU << 108 proportional to the square of the Voltag << 109 the clock frequency (f). The coefficient << 110 calculate the dynamic power as below - << 111 << 112 Pdyn = dynamic-power-coefficient * V^2 * << 113 << 114 where voltage is in V, frequency is in M << 115 << 116 required: 92 required: 117 - compatible 93 - compatible 118 - reg 94 - reg 119 - interrupts 95 - interrupts 120 - interrupt-names 96 - interrupt-names 121 - clocks 97 - clocks 122 98 123 additionalProperties: false 99 additionalProperties: false 124 100 125 allOf: 101 allOf: 126 - if: 102 - if: 127 properties: 103 properties: 128 compatible: 104 compatible: 129 contains: 105 contains: 130 const: allwinner,sun50i-h6-mali 106 const: allwinner,sun50i-h6-mali 131 then: 107 then: 132 properties: 108 properties: 133 clocks: 109 clocks: 134 minItems: 2 110 minItems: 2 135 required: 111 required: 136 - clock-names 112 - clock-names 137 - resets 113 - resets 138 - if: 114 - if: 139 properties: 115 properties: 140 compatible: 116 compatible: 141 contains: 117 contains: 142 const: amlogic,meson-gxm-mali 118 const: amlogic,meson-gxm-mali 143 then: 119 then: 144 properties: 120 properties: 145 resets: 121 resets: 146 minItems: 2 122 minItems: 2 147 required: 123 required: 148 - resets 124 - resets 149 125 150 examples: 126 examples: 151 - | 127 - | 152 #include <dt-bindings/interrupt-controller 128 #include <dt-bindings/interrupt-controller/irq.h> 153 #include <dt-bindings/interrupt-controller 129 #include <dt-bindings/interrupt-controller/arm-gic.h> 154 130 155 gpu@ffa30000 { 131 gpu@ffa30000 { 156 compatible = "rockchip,rk3288-mali", "ar 132 compatible = "rockchip,rk3288-mali", "arm,mali-t760"; 157 reg = <0xffa30000 0x10000>; 133 reg = <0xffa30000 0x10000>; 158 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_H 134 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 159 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 135 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 160 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 136 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 161 interrupt-names = "job", "mmu", "gpu"; 137 interrupt-names = "job", "mmu", "gpu"; 162 clocks = <&cru 0>; 138 clocks = <&cru 0>; 163 mali-supply = <&vdd_gpu>; 139 mali-supply = <&vdd_gpu>; 164 operating-points-v2 = <&gpu_opp_table>; 140 operating-points-v2 = <&gpu_opp_table>; 165 power-domains = <&power 0>; 141 power-domains = <&power 0>; 166 #cooling-cells = <2>; 142 #cooling-cells = <2>; 167 }; 143 }; 168 144 169 gpu_opp_table: opp-table { !! 145 gpu_opp_table: opp_table0 { 170 compatible = "operating-points-v2"; 146 compatible = "operating-points-v2"; 171 147 172 opp-533000000 { 148 opp-533000000 { 173 opp-hz = /bits/ 64 <533000000>; 149 opp-hz = /bits/ 64 <533000000>; 174 opp-microvolt = <1250000>; 150 opp-microvolt = <1250000>; 175 }; 151 }; 176 opp-450000000 { 152 opp-450000000 { 177 opp-hz = /bits/ 64 <450000000>; 153 opp-hz = /bits/ 64 <450000000>; 178 opp-microvolt = <1150000>; 154 opp-microvolt = <1150000>; 179 }; 155 }; 180 opp-400000000 { 156 opp-400000000 { 181 opp-hz = /bits/ 64 <400000000>; 157 opp-hz = /bits/ 64 <400000000>; 182 opp-microvolt = <1125000>; 158 opp-microvolt = <1125000>; 183 }; 159 }; 184 opp-350000000 { 160 opp-350000000 { 185 opp-hz = /bits/ 64 <350000000>; 161 opp-hz = /bits/ 64 <350000000>; 186 opp-microvolt = <1075000>; 162 opp-microvolt = <1075000>; 187 }; 163 }; 188 opp-266000000 { 164 opp-266000000 { 189 opp-hz = /bits/ 64 <266000000>; 165 opp-hz = /bits/ 64 <266000000>; 190 opp-microvolt = <1025000>; 166 opp-microvolt = <1025000>; 191 }; 167 }; 192 opp-160000000 { 168 opp-160000000 { 193 opp-hz = /bits/ 64 <160000000>; 169 opp-hz = /bits/ 64 <160000000>; 194 opp-microvolt = <925000>; 170 opp-microvolt = <925000>; 195 }; 171 }; 196 opp-100000000 { 172 opp-100000000 { 197 opp-hz = /bits/ 64 <100000000>; 173 opp-hz = /bits/ 64 <100000000>; 198 opp-microvolt = <912500>; 174 opp-microvolt = <912500>; 199 }; 175 }; 200 }; 176 }; 201 177 202 ... 178 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.