Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpu/arm,mali-utgard.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ARM Mali Utgard GPU
8
9maintainers:
10 - Rob Herring <robh@kernel.org>
11 - Maxime Ripard <maxime.ripard@free-electrons.com>
12 - Heiko Stuebner <heiko@sntech.de>
13
14properties:
15 $nodename:
16 pattern: '^gpu@[a-f0-9]+$'
17 compatible:
18 oneOf:
19 - items:
20 - const: allwinner,sun8i-a23-mali
21 - const: allwinner,sun7i-a20-mali
22 - const: arm,mali-400
23 - items:
24 - enum:
25 - allwinner,sun4i-a10-mali
26 - allwinner,sun7i-a20-mali
27 - allwinner,sun8i-h3-mali
28 - allwinner,sun50i-a64-mali
29 - rockchip,rk3036-mali
30 - rockchip,rk3066-mali
31 - rockchip,rk3188-mali
32 - rockchip,rk3228-mali
33 - samsung,exynos4210-mali
34 - stericsson,db8500-mali
35 - const: arm,mali-400
36 - items:
37 - enum:
38 - allwinner,sun50i-h5-mali
39 - amlogic,meson8-mali
40 - amlogic,meson8b-mali
41 - amlogic,meson-gxbb-mali
42 - amlogic,meson-gxl-mali
43 - hisilicon,hi6220-mali
44 - rockchip,rk3328-mali
45 - const: arm,mali-450
46
47 # "arm,mali-300"
48
49 reg:
50 maxItems: 1
51
52 interrupts:
53 minItems: 4
54 maxItems: 20
55
56 interrupt-names:
57 allOf:
58 - additionalItems: true
59 minItems: 4
60 maxItems: 20
61 items:
62 # At least enforce the first 2 interrupts
63 - const: gp
64 - const: gpmmu
65 - items:
66 # Not ideal as any order and combination are allowed
67 enum:
68 - gp # Geometry Processor interrupt
69 - gpmmu # Geometry Processor MMU interrupt
70 - pp # Pixel Processor broadcast interrupt (mali-450 only)
71 - pp0 # Pixel Processor X interrupt (X from 0 to 7)
72 - ppmmu0 # Pixel Processor X MMU interrupt (X from 0 to 7)
73 - pp1
74 - ppmmu1
75 - pp2
76 - ppmmu2
77 - pp3
78 - ppmmu3
79 - pp4
80 - ppmmu4
81 - pp5
82 - ppmmu5
83 - pp6
84 - ppmmu6
85 - pp7
86 - ppmmu7
87 - pmu # Power Management Unit interrupt (optional)
88 - combined # stericsson,db8500-mali only
89
90 clocks:
91 maxItems: 2
92
93 clock-names:
94 items:
95 - const: bus
96 - const: core
97
98 memory-region: true
99
100 mali-supply: true
101
102 power-domains:
103 maxItems: 1
104
105 resets:
106 maxItems: 1
107
108 operating-points-v2: true
109
110required:
111 - compatible
112 - reg
113 - interrupts
114 - interrupt-names
115 - clocks
116 - clock-names
117
118allOf:
119 - if:
120 properties:
121 compatible:
122 contains:
123 enum:
124 - allwinner,sun4i-a10-mali
125 - allwinner,sun7i-a20-mali
126 - allwinner,sun50i-a64-mali
127 - allwinner,sun50i-h5-mali
128 - amlogic,meson8-mali
129 - amlogic,meson8b-mali
130 - hisilicon,hi6220-mali
131 - rockchip,rk3036-mali
132 - rockchip,rk3066-mali
133 - rockchip,rk3188-mali
134 - rockchip,rk3228-mali
135 - rockchip,rk3328-mali
136 then:
137 required:
138 - resets
139
140examples:
141 - |
142 #include <dt-bindings/interrupt-controller/irq.h>
143 #include <dt-bindings/interrupt-controller/arm-gic.h>
144
145 mali: gpu@1c40000 {
146 compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
147 reg = <0x01c40000 0x10000>;
148 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
151 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
152 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
153 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
154 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
155 interrupt-names = "gp",
156 "gpmmu",
157 "pp0",
158 "ppmmu0",
159 "pp1",
160 "ppmmu1",
161 "pmu";
162 clocks = <&ccu 1>, <&ccu 2>;
163 clock-names = "bus", "core";
164 resets = <&ccu 1>;
165 };
166
167...