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: !! 77 opp-table: true 83 type: object << 84 78 85 power-domains: 79 power-domains: 86 maxItems: 1 80 maxItems: 1 87 81 88 resets: 82 resets: 89 minItems: 1 83 minItems: 1 90 maxItems: 2 84 maxItems: 2 91 85 92 operating-points-v2: true 86 operating-points-v2: true 93 87 94 "#cooling-cells": 88 "#cooling-cells": 95 const: 2 89 const: 2 96 90 97 dma-coherent: true 91 dma-coherent: true 98 92 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: 93 required: 117 - compatible 94 - compatible 118 - reg 95 - reg 119 - interrupts 96 - interrupts 120 - interrupt-names 97 - interrupt-names 121 - clocks 98 - clocks 122 99 123 additionalProperties: false 100 additionalProperties: false 124 101 125 allOf: 102 allOf: 126 - if: 103 - if: 127 properties: 104 properties: 128 compatible: 105 compatible: 129 contains: 106 contains: 130 const: allwinner,sun50i-h6-mali 107 const: allwinner,sun50i-h6-mali 131 then: 108 then: 132 properties: 109 properties: 133 clocks: 110 clocks: 134 minItems: 2 111 minItems: 2 135 required: 112 required: 136 - clock-names 113 - clock-names 137 - resets 114 - resets 138 - if: 115 - if: 139 properties: 116 properties: 140 compatible: 117 compatible: 141 contains: 118 contains: 142 const: amlogic,meson-gxm-mali 119 const: amlogic,meson-gxm-mali 143 then: 120 then: 144 properties: 121 properties: 145 resets: 122 resets: 146 minItems: 2 123 minItems: 2 147 required: 124 required: 148 - resets 125 - resets 149 126 150 examples: 127 examples: 151 - | 128 - | 152 #include <dt-bindings/interrupt-controller 129 #include <dt-bindings/interrupt-controller/irq.h> 153 #include <dt-bindings/interrupt-controller 130 #include <dt-bindings/interrupt-controller/arm-gic.h> 154 131 155 gpu@ffa30000 { 132 gpu@ffa30000 { 156 compatible = "rockchip,rk3288-mali", "ar 133 compatible = "rockchip,rk3288-mali", "arm,mali-t760"; 157 reg = <0xffa30000 0x10000>; 134 reg = <0xffa30000 0x10000>; 158 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_H 135 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 159 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 136 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 160 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 137 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 161 interrupt-names = "job", "mmu", "gpu"; 138 interrupt-names = "job", "mmu", "gpu"; 162 clocks = <&cru 0>; 139 clocks = <&cru 0>; 163 mali-supply = <&vdd_gpu>; 140 mali-supply = <&vdd_gpu>; 164 operating-points-v2 = <&gpu_opp_table>; 141 operating-points-v2 = <&gpu_opp_table>; 165 power-domains = <&power 0>; 142 power-domains = <&power 0>; 166 #cooling-cells = <2>; 143 #cooling-cells = <2>; 167 }; 144 }; 168 145 169 gpu_opp_table: opp-table { !! 146 gpu_opp_table: opp_table0 { 170 compatible = "operating-points-v2"; 147 compatible = "operating-points-v2"; 171 148 172 opp-533000000 { 149 opp-533000000 { 173 opp-hz = /bits/ 64 <533000000>; 150 opp-hz = /bits/ 64 <533000000>; 174 opp-microvolt = <1250000>; 151 opp-microvolt = <1250000>; 175 }; 152 }; 176 opp-450000000 { 153 opp-450000000 { 177 opp-hz = /bits/ 64 <450000000>; 154 opp-hz = /bits/ 64 <450000000>; 178 opp-microvolt = <1150000>; 155 opp-microvolt = <1150000>; 179 }; 156 }; 180 opp-400000000 { 157 opp-400000000 { 181 opp-hz = /bits/ 64 <400000000>; 158 opp-hz = /bits/ 64 <400000000>; 182 opp-microvolt = <1125000>; 159 opp-microvolt = <1125000>; 183 }; 160 }; 184 opp-350000000 { 161 opp-350000000 { 185 opp-hz = /bits/ 64 <350000000>; 162 opp-hz = /bits/ 64 <350000000>; 186 opp-microvolt = <1075000>; 163 opp-microvolt = <1075000>; 187 }; 164 }; 188 opp-266000000 { 165 opp-266000000 { 189 opp-hz = /bits/ 64 <266000000>; 166 opp-hz = /bits/ 64 <266000000>; 190 opp-microvolt = <1025000>; 167 opp-microvolt = <1025000>; 191 }; 168 }; 192 opp-160000000 { 169 opp-160000000 { 193 opp-hz = /bits/ 64 <160000000>; 170 opp-hz = /bits/ 64 <160000000>; 194 opp-microvolt = <925000>; 171 opp-microvolt = <925000>; 195 }; 172 }; 196 opp-100000000 { 173 opp-100000000 { 197 opp-hz = /bits/ 64 <100000000>; 174 opp-hz = /bits/ 64 <100000000>; 198 opp-microvolt = <912500>; 175 opp-microvolt = <912500>; 199 }; 176 }; 200 }; 177 }; 201 178 202 ... 179 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.