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:
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  power-domains:
79    maxItems: 1
80
81  resets:
82    minItems: 1
83    maxItems: 2
84
85  operating-points-v2: true
86
87  "#cooling-cells":
88    const: 2
89
90required:
91  - compatible
92  - reg
93  - interrupts
94  - interrupt-names
95  - clocks
96
97additionalProperties: false
98
99allOf:
100  - if:
101      properties:
102        compatible:
103          contains:
104            const: allwinner,sun50i-h6-mali
105    then:
106      properties:
107        clocks:
108          minItems: 2
109      required:
110        - clock-names
111        - resets
112  - if:
113      properties:
114        compatible:
115          contains:
116            const: amlogic,meson-gxm-mali
117    then:
118      properties:
119        resets:
120          minItems: 2
121      required:
122        - resets
123
124examples:
125  - |
126    #include <dt-bindings/interrupt-controller/irq.h>
127    #include <dt-bindings/interrupt-controller/arm-gic.h>
128
129    gpu@ffa30000 {
130      compatible = "rockchip,rk3288-mali", "arm,mali-t760";
131      reg = <0xffa30000 0x10000>;
132      interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
133             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
134             <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
135      interrupt-names = "job", "mmu", "gpu";
136      clocks = <&cru 0>;
137      mali-supply = <&vdd_gpu>;
138      operating-points-v2 = <&gpu_opp_table>;
139      power-domains = <&power 0>;
140      #cooling-cells = <2>;
141    };
142
143    gpu_opp_table: opp_table0 {
144      compatible = "operating-points-v2";
145
146      opp-533000000 {
147        opp-hz = /bits/ 64 <533000000>;
148        opp-microvolt = <1250000>;
149      };
150      opp-450000000 {
151        opp-hz = /bits/ 64 <450000000>;
152        opp-microvolt = <1150000>;
153      };
154      opp-400000000 {
155        opp-hz = /bits/ 64 <400000000>;
156        opp-microvolt = <1125000>;
157      };
158      opp-350000000 {
159        opp-hz = /bits/ 64 <350000000>;
160        opp-microvolt = <1075000>;
161      };
162      opp-266000000 {
163        opp-hz = /bits/ 64 <266000000>;
164        opp-microvolt = <1025000>;
165      };
166      opp-160000000 {
167        opp-hz = /bits/ 64 <160000000>;
168        opp-microvolt = <925000>;
169      };
170      opp-100000000 {
171        opp-hz = /bits/ 64 <100000000>;
172        opp-microvolt = <912500>;
173      };
174    };
175
176...
177