]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/gpu/arm,mali-midgard.yaml
DTS: Update the device-tree files to Linux 5.5
[FreeBSD/FreeBSD.git] / Bindings / gpu / arm,mali-midgard.yaml
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              - rockchip,rk3399-mali
46           - const: arm,mali-t860
47
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
76   mali-supply: true
77
78   resets:
79     minItems: 1
80     maxItems: 2
81
82   operating-points-v2: true
83
84   "#cooling-cells":
85     const: 2
86
87 required:
88   - compatible
89   - reg
90   - interrupts
91   - interrupt-names
92   - clocks
93
94 allOf:
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
119 examples:
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
141       opp@533000000 {
142         opp-hz = /bits/ 64 <533000000>;
143         opp-microvolt = <1250000>;
144       };
145       opp@450000000 {
146         opp-hz = /bits/ 64 <450000000>;
147         opp-microvolt = <1150000>;
148       };
149       opp@400000000 {
150         opp-hz = /bits/ 64 <400000000>;
151         opp-microvolt = <1125000>;
152       };
153       opp@350000000 {
154         opp-hz = /bits/ 64 <350000000>;
155         opp-microvolt = <1075000>;
156       };
157       opp@266000000 {
158         opp-hz = /bits/ 64 <266000000>;
159         opp-microvolt = <1025000>;
160       };
161       opp@160000000 {
162         opp-hz = /bits/ 64 <160000000>;
163         opp-microvolt = <925000>;
164       };
165       opp@100000000 {
166         opp-hz = /bits/ 64 <100000000>;
167         opp-microvolt = <912500>;
168       };
169     };
170
171 ...