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 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-gr3d.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NVIDIA 3D graphics engine
8
9maintainers:
10 - Thierry Reding <thierry.reding@gmail.com>
11 - Jon Hunter <jonathanh@nvidia.com>
12
13properties:
14 $nodename:
15 pattern: "^gr3d@[0-9a-f]+$"
16
17 compatible:
18 enum:
19 - nvidia,tegra20-gr3d
20 - nvidia,tegra30-gr3d
21 - nvidia,tegra114-gr3d
22
23 reg:
24 maxItems: 1
25
26 clocks:
27 minItems: 1
28 maxItems: 2
29
30 clock-names:
31 minItems: 1
32 maxItems: 2
33
34 resets:
35 minItems: 2
36 maxItems: 4
37
38 reset-names:
39 minItems: 2
40 maxItems: 4
41
42 iommus:
43 minItems: 1
44 maxItems: 2
45
46 interconnects:
47 minItems: 4
48 maxItems: 10
49
50 interconnect-names:
51 minItems: 4
52 maxItems: 10
53
54 operating-points-v2:
55 $ref: "/schemas/types.yaml#/definitions/phandle"
56
57 power-domains:
58 minItems: 1
59 maxItems: 2
60
61 power-domain-names:
62 maxItems: 2
63
64allOf:
65 - if:
66 properties:
67 compatible:
68 contains:
69 const: nvidia,tegra20-gr2d
70 then:
71 properties:
72 clocks:
73 items:
74 - description: module clock
75
76 clock-names:
77 items:
78 - const: 3d
79
80 resets:
81 items:
82 - description: module reset
83 - description: memory client hotflush reset
84
85 reset-names:
86 items:
87 - const: 3d
88 - const: mc
89
90 iommus:
91 maxItems: 1
92
93 interconnects:
94 minItems: 4
95 maxItems: 4
96
97 interconnect-names:
98 minItems: 4
99 maxItems: 4
100
101 power-domains:
102 items:
103 - description: phandle to the TD power domain
104
105 - if:
106 properties:
107 compatible:
108 contains:
109 const: nvidia,tegra30-gr3d
110 then:
111 properties:
112 clocks:
113 items:
114 - description: primary module clock
115 - description: secondary module clock
116
117 clock-names:
118 items:
119 - const: 3d
120 - const: 3d2
121
122 resets:
123 items:
124 - description: primary module reset
125 - description: secondary module reset
126 - description: primary memory client hotflush reset
127 - description: secondary memory client hotflush reset
128
129 reset-names:
130 items:
131 - const: 3d
132 - const: 3d2
133 - const: mc
134 - const: mc2
135
136 iommus:
137 minItems: 2
138 maxItems: 2
139
140 interconnects:
141 minItems: 8
142 maxItems: 8
143
144 interconnect-names:
145 minItems: 8
146 maxItems: 8
147
148 power-domains:
149 items:
150 - description: phandle to the TD power domain
151 - description: phandle to the TD2 power domain
152
153 power-domain-names:
154 items:
155 - const: 3d0
156 - const: 3d1
157
158 dependencies:
159 power-domains: [ power-domain-names ]
160
161 - if:
162 properties:
163 compatible:
164 contains:
165 const: nvidia,tegra114-gr2d
166 then:
167 properties:
168 clocks:
169 items:
170 - description: module clock
171
172 clock-names:
173 items:
174 - const: 3d
175
176 resets:
177 items:
178 - description: module reset
179 - description: memory client hotflush reset
180
181 reset-names:
182 items:
183 - const: 3d
184 - const: mc
185
186 iommus:
187 maxItems: 1
188
189 interconnects:
190 minItems: 10
191 maxItems: 10
192
193 interconnect-names:
194 minItems: 10
195 maxItems: 10
196
197 power-domains:
198 items:
199 - description: phandle to the TD power domain
200
201additionalProperties: false
202
203examples:
204 - |
205 #include <dt-bindings/clock/tegra20-car.h>
206 #include <dt-bindings/memory/tegra20-mc.h>
207
208 gr3d@54180000 {
209 compatible = "nvidia,tegra20-gr3d";
210 reg = <0x54180000 0x00040000>;
211 clocks = <&tegra_car TEGRA20_CLK_GR3D>;
212 resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
213 reset-names = "3d", "mc";
214 };