Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml
26307 views
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
7
title: ARM Mali Midgard GPU
8
9
maintainers:
10
- Rob Herring <robh@kernel.org>
11
12
properties:
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
119
required:
120
- compatible
121
- reg
122
- interrupts
123
- interrupt-names
124
- clocks
125
126
additionalProperties: false
127
128
allOf:
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
153
examples:
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
207