Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/device-tree/Bindings/gpu/arm,mali-midgard.yaml
48376 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
- rockchip,rk3399-mali
51
- const: arm,mali-t860
52
53
# "arm,mali-t830"
54
# "arm,mali-t880"
55
56
reg:
57
maxItems: 1
58
59
interrupts:
60
items:
61
- description: Job interrupt
62
- description: MMU interrupt
63
- description: GPU interrupt
64
65
interrupt-names:
66
items:
67
- const: job
68
- const: mmu
69
- const: gpu
70
71
clocks:
72
minItems: 1
73
maxItems: 2
74
75
clock-names:
76
minItems: 1
77
items:
78
- const: core
79
- const: bus
80
81
mali-supply: true
82
opp-table:
83
type: object
84
85
power-domains:
86
maxItems: 1
87
88
resets:
89
minItems: 1
90
maxItems: 2
91
92
operating-points-v2: true
93
94
"#cooling-cells":
95
const: 2
96
97
dma-coherent: true
98
99
dynamic-power-coefficient:
100
$ref: /schemas/types.yaml#/definitions/uint32
101
description:
102
A u32 value that represents the running time dynamic
103
power coefficient in units of uW/MHz/V^2. The
104
coefficient can either be calculated from power
105
measurements or derived by analysis.
106
107
The dynamic power consumption of the GPU is
108
proportional to the square of the Voltage (V) and
109
the clock frequency (f). The coefficient is used to
110
calculate the dynamic power as below -
111
112
Pdyn = dynamic-power-coefficient * V^2 * f
113
114
where voltage is in V, frequency is in MHz.
115
116
required:
117
- compatible
118
- reg
119
- interrupts
120
- interrupt-names
121
- clocks
122
123
additionalProperties: false
124
125
allOf:
126
- if:
127
properties:
128
compatible:
129
contains:
130
const: allwinner,sun50i-h6-mali
131
then:
132
properties:
133
clocks:
134
minItems: 2
135
required:
136
- clock-names
137
- resets
138
- if:
139
properties:
140
compatible:
141
contains:
142
const: amlogic,meson-gxm-mali
143
then:
144
properties:
145
resets:
146
minItems: 2
147
required:
148
- resets
149
150
examples:
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
204