Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / Documentation / devicetree / bindings / gpu / arm,mali-midgard.yaml
CommitLineData
553cedf6
RH
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
7title: ARM Mali Midgard GPU
8
9maintainers:
10 - Rob Herring <robh@kernel.org>
11
12properties:
13 $nodename:
14 pattern: '^gpu@[a-f0-9]+$'
15 compatible:
16 oneOf:
59b3d30f
AF
17 - items:
18 - enum:
19 - samsung,exynos5250-mali
20 - const: arm,mali-t604
3afd6389
MM
21 - items:
22 - enum:
23 - samsung,exynos5420-mali
24 - const: arm,mali-t628
553cedf6
RH
25 - items:
26 - enum:
27 - allwinner,sun50i-h6-mali
28 - const: arm,mali-t720
29 - items:
30 - enum:
31 - amlogic,meson-gxm-mali
a17f07d6 32 - realtek,rtd1295-mali
553cedf6 33 - const: arm,mali-t820
577dd5de
RM
34 - items:
35 - enum:
36 - arm,juno-mali
37 - const: arm,mali-t624
553cedf6
RH
38 - items:
39 - enum:
40 - rockchip,rk3288-mali
59b3d30f 41 - samsung,exynos5433-mali
553cedf6
RH
42 - const: arm,mali-t760
43 - items:
44 - enum:
45 - rockchip,rk3399-mali
46 - const: arm,mali-t860
553cedf6 47
553cedf6
RH
48 # "arm,mali-t830"
49 # "arm,mali-t880"
50
51 reg:
52 maxItems: 1
53
54 interrupts:
55 items:
56 - description: Job interrupt
57 - description: MMU interrupt
58 - description: GPU interrupt
59
60 interrupt-names:
61 items:
62 - const: job
63 - const: mmu
64 - const: gpu
65
66 clocks:
67 minItems: 1
68 maxItems: 2
69
70 clock-names:
71 minItems: 1
72 items:
73 - const: core
74 - const: bus
75
f3dde260 76 mali-supply: true
553cedf6
RH
77
78 resets:
79 minItems: 1
80 maxItems: 2
81
82 operating-points-v2: true
83
84 "#cooling-cells":
85 const: 2
86
87required:
88 - compatible
89 - reg
90 - interrupts
91 - interrupt-names
92 - clocks
93
94allOf:
95 - if:
96 properties:
97 compatible:
98 contains:
99 const: allwinner,sun50i-h6-mali
100 then:
101 properties:
102 clocks:
103 minItems: 2
104 required:
105 - clock-names
106 - resets
107 - if:
108 properties:
109 compatible:
110 contains:
111 const: amlogic,meson-gxm-mali
112 then:
113 properties:
114 resets:
115 minItems: 2
116 required:
117 - resets
118
119examples:
120 - |
121 #include <dt-bindings/interrupt-controller/irq.h>
122 #include <dt-bindings/interrupt-controller/arm-gic.h>
123
124 gpu@ffa30000 {
125 compatible = "rockchip,rk3288-mali", "arm,mali-t760";
126 reg = <0xffa30000 0x10000>;
127 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
128 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
129 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
130 interrupt-names = "job", "mmu", "gpu";
131 clocks = <&cru 0>;
132 mali-supply = <&vdd_gpu>;
133 operating-points-v2 = <&gpu_opp_table>;
134 power-domains = <&power 0>;
135 #cooling-cells = <2>;
136 };
137
138 gpu_opp_table: opp_table0 {
139 compatible = "operating-points-v2";
140
51a21e0e 141 opp-533000000 {
553cedf6
RH
142 opp-hz = /bits/ 64 <533000000>;
143 opp-microvolt = <1250000>;
144 };
51a21e0e 145 opp-450000000 {
553cedf6
RH
146 opp-hz = /bits/ 64 <450000000>;
147 opp-microvolt = <1150000>;
148 };
51a21e0e 149 opp-400000000 {
553cedf6
RH
150 opp-hz = /bits/ 64 <400000000>;
151 opp-microvolt = <1125000>;
152 };
51a21e0e 153 opp-350000000 {
553cedf6
RH
154 opp-hz = /bits/ 64 <350000000>;
155 opp-microvolt = <1075000>;
156 };
51a21e0e 157 opp-266000000 {
553cedf6
RH
158 opp-hz = /bits/ 64 <266000000>;
159 opp-microvolt = <1025000>;
160 };
51a21e0e 161 opp-160000000 {
553cedf6
RH
162 opp-hz = /bits/ 64 <160000000>;
163 opp-microvolt = <925000>;
164 };
51a21e0e 165 opp-100000000 {
553cedf6
RH
166 opp-hz = /bits/ 64 <100000000>;
167 opp-microvolt = <912500>;
168 };
169 };
170
171...