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
7 title: NVIDIA 3D graphics engine
8
9 maintainers:
10 - Thierry Reding <thierry.reding@gmail.com>
11 - Jon Hunter <jonathanh@nvidia.com>
12
13 properties:
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 minItems: 2
63 maxItems: 2
64
65 allOf:
66 - if:
67 properties:
68 compatible:
69 contains:
70 const: nvidia,tegra20-gr2d
71 then:
72 properties:
73 clocks:
74 items:
75 - description: module clock
76
77 clock-names:
78 items:
79 - const: 3d
80
81 resets:
82 items:
83 - description: module reset
84 - description: memory client hotflush reset
85
86 reset-names:
87 items:
88 - const: 3d
89 - const: mc
90
91 iommus:
92 maxItems: 1
93
94 interconnects:
95 minItems: 4
96 maxItems: 4
97
98 interconnect-names:
99 minItems: 4
100 maxItems: 4
101
102 power-domains:
103 items:
104 - description: phandle to the TD power domain
105
106 - if:
107 properties:
108 compatible:
109 contains:
110 const: nvidia,tegra30-gr3d
111 then:
112 properties:
113 clocks:
114 items:
115 - description: primary module clock
116 - description: secondary module clock
117
118 clock-names:
119 items:
120 - const: 3d
121 - const: 3d2
122
123 resets:
124 items:
125 - description: primary module reset
126 - description: secondary module reset
127 - description: primary memory client hotflush reset
128 - description: secondary memory client hotflush reset
129
130 reset-names:
131 items:
132 - const: 3d
133 - const: 3d2
134 - const: mc
135 - const: mc2
136
137 iommus:
138 minItems: 2
139 maxItems: 2
140
141 interconnects:
142 minItems: 8
143 maxItems: 8
144
145 interconnect-names:
146 minItems: 8
147 maxItems: 8
148
149 power-domains:
150 items:
151 - description: phandle to the TD power domain
152 - description: phandle to the TD2 power domain
153
154 power-domain-names:
155 items:
156 - const: 3d0
157 - const: 3d1
158
159 dependencies:
160 power-domains: [ power-domain-names ]
161
162 - if:
163 properties:
164 compatible:
165 contains:
166 const: nvidia,tegra114-gr2d
167 then:
168 properties:
169 clocks:
170 items:
171 - description: module clock
172
173 clock-names:
174 items:
175 - const: 3d
176
177 resets:
178 items:
179 - description: module reset
180 - description: memory client hotflush reset
181
182 reset-names:
183 items:
184 - const: 3d
185 - const: mc
186
187 iommus:
188 maxItems: 1
189
190 interconnects:
191 minItems: 10
192 maxItems: 10
193
194 interconnect-names:
195 minItems: 10
196 maxItems: 10
197
198 power-domains:
199 items:
200 - description: phandle to the TD power domain
201
202 additionalProperties: false
203
204 examples:
205 - |
206 #include <dt-bindings/clock/tegra20-car.h>
207 #include <dt-bindings/memory/tegra20-mc.h>
208
209 gr3d@54180000 {
210 compatible = "nvidia,tegra20-gr3d";
211 reg = <0x54180000 0x00040000>;
212 clocks = <&tegra_car TEGRA20_CLK_GR3D>;
213 resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
214 reset-names = "3d", "mc";
215 };
Cache object: 42e944b118d6efd40880f67b689be3a2
|