Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/gpu/arm,mali-valhall-csf.yaml
26307 views
1
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/gpu/arm,mali-valhall-csf.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: ARM Mali Valhall GPU
8
9
maintainers:
10
- Liviu Dudau <liviu.dudau@arm.com>
11
- Boris Brezillon <boris.brezillon@collabora.com>
12
13
properties:
14
$nodename:
15
pattern: '^gpu@[a-f0-9]+$'
16
17
compatible:
18
oneOf:
19
- items:
20
- enum:
21
- rockchip,rk3588-mali
22
- const: arm,mali-valhall-csf # Mali Valhall GPU model/revision is fully discoverable
23
24
reg:
25
maxItems: 1
26
27
interrupts:
28
items:
29
- description: Job interrupt
30
- description: MMU interrupt
31
- description: GPU interrupt
32
33
interrupt-names:
34
items:
35
- const: job
36
- const: mmu
37
- const: gpu
38
39
clocks:
40
minItems: 1
41
maxItems: 3
42
43
clock-names:
44
minItems: 1
45
items:
46
- const: core
47
- const: coregroup
48
- const: stacks
49
50
mali-supply: true
51
52
operating-points-v2: true
53
opp-table:
54
type: object
55
56
power-domains:
57
minItems: 1
58
maxItems: 5
59
60
power-domain-names:
61
minItems: 1
62
maxItems: 5
63
64
sram-supply: true
65
66
"#cooling-cells":
67
const: 2
68
69
dynamic-power-coefficient:
70
$ref: /schemas/types.yaml#/definitions/uint32
71
description:
72
A u32 value that represents the running time dynamic
73
power coefficient in units of uW/MHz/V^2. The
74
coefficient can either be calculated from power
75
measurements or derived by analysis.
76
77
The dynamic power consumption of the GPU is
78
proportional to the square of the Voltage (V) and
79
the clock frequency (f). The coefficient is used to
80
calculate the dynamic power as below -
81
82
Pdyn = dynamic-power-coefficient * V^2 * f
83
84
where voltage is in V, frequency is in MHz.
85
86
dma-coherent: true
87
88
required:
89
- compatible
90
- reg
91
- interrupts
92
- interrupt-names
93
- clocks
94
- mali-supply
95
96
additionalProperties: false
97
98
allOf:
99
- if:
100
properties:
101
compatible:
102
contains:
103
const: rockchip,rk3588-mali
104
then:
105
properties:
106
clocks:
107
minItems: 3
108
power-domains:
109
maxItems: 1
110
power-domain-names: false
111
112
examples:
113
- |
114
#include <dt-bindings/clock/rockchip,rk3588-cru.h>
115
#include <dt-bindings/interrupt-controller/irq.h>
116
#include <dt-bindings/interrupt-controller/arm-gic.h>
117
#include <dt-bindings/power/rk3588-power.h>
118
119
gpu: gpu@fb000000 {
120
compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";
121
reg = <0xfb000000 0x200000>;
122
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,
123
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
124
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
125
interrupt-names = "job", "mmu", "gpu";
126
clock-names = "core", "coregroup", "stacks";
127
clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,
128
<&cru CLK_GPU_STACKS>;
129
power-domains = <&power RK3588_PD_GPU>;
130
operating-points-v2 = <&gpu_opp_table>;
131
mali-supply = <&vdd_gpu_s0>;
132
sram-supply = <&vdd_gpu_mem_s0>;
133
134
gpu_opp_table: opp-table {
135
compatible = "operating-points-v2";
136
opp-300000000 {
137
opp-hz = /bits/ 64 <300000000>;
138
opp-microvolt = <675000 675000 850000>;
139
};
140
opp-400000000 {
141
opp-hz = /bits/ 64 <400000000>;
142
opp-microvolt = <675000 675000 850000>;
143
};
144
};
145
};
146
147
...
148
149