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
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip General Register Files (GRF)
8
9maintainers:
10 - Heiko Stuebner <heiko@sntech.de>
11
12properties:
13 compatible:
14 oneOf:
15 - items:
16 - enum:
17 - rockchip,rk3288-sgrf
18 - rockchip,rk3528-ioc-grf
19 - rockchip,rk3528-pipe-phy-grf
20 - rockchip,rk3528-vo-grf
21 - rockchip,rk3528-vpu-grf
22 - rockchip,rk3562-ioc-grf
23 - rockchip,rk3562-peri-grf
24 - rockchip,rk3562-pipephy-grf
25 - rockchip,rk3562-pmu-grf
26 - rockchip,rk3562-sys-grf
27 - rockchip,rk3562-usbphy-grf
28 - rockchip,rk3566-pipe-grf
29 - rockchip,rk3568-pcie3-phy-grf
30 - rockchip,rk3568-pipe-grf
31 - rockchip,rk3568-pipe-phy-grf
32 - rockchip,rk3568-usb2phy-grf
33 - rockchip,rk3576-bigcore-grf
34 - rockchip,rk3576-cci-grf
35 - rockchip,rk3576-dcphy-grf
36 - rockchip,rk3576-gpu-grf
37 - rockchip,rk3576-hdptxphy-grf
38 - rockchip,rk3576-litcore-grf
39 - rockchip,rk3576-npu-grf
40 - rockchip,rk3576-php-grf
41 - rockchip,rk3576-pipe-phy-grf
42 - rockchip,rk3576-pmu1-grf
43 - rockchip,rk3576-sdgmac-grf
44 - rockchip,rk3576-sys-grf
45 - rockchip,rk3576-usb-grf
46 - rockchip,rk3576-usbdpphy-grf
47 - rockchip,rk3576-vo0-grf
48 - rockchip,rk3576-vo1-grf
49 - rockchip,rk3576-vop-grf
50 - rockchip,rk3588-bigcore0-grf
51 - rockchip,rk3588-bigcore1-grf
52 - rockchip,rk3588-csidphy-grf
53 - rockchip,rk3588-dcphy-grf
54 - rockchip,rk3588-hdptxphy-grf
55 - rockchip,rk3588-ioc
56 - rockchip,rk3588-php-grf
57 - rockchip,rk3588-pipe-phy-grf
58 - rockchip,rk3588-sys-grf
59 - rockchip,rk3588-pcie3-phy-grf
60 - rockchip,rk3588-pcie3-pipe-grf
61 - rockchip,rk3588-usb-grf
62 - rockchip,rk3588-usbdpphy-grf
63 - rockchip,rk3588-vo0-grf
64 - rockchip,rk3588-vo1-grf
65 - rockchip,rk3588-vop-grf
66 - rockchip,rv1103b-ioc
67 - rockchip,rv1108-usbgrf
68 - const: syscon
69 - items:
70 - const: rockchip,rk3588-vo-grf
71 - const: syscon
72 deprecated: true
73 description: Use rockchip,rk3588-vo{0,1}-grf instead.
74 - items:
75 - enum:
76 - rockchip,px30-grf
77 - rockchip,px30-pmugrf
78 - rockchip,px30-usb2phy-grf
79 - rockchip,rk3036-grf
80 - rockchip,rk3066-grf
81 - rockchip,rk3128-grf
82 - rockchip,rk3188-grf
83 - rockchip,rk3228-grf
84 - rockchip,rk3288-grf
85 - rockchip,rk3308-core-grf
86 - rockchip,rk3308-detect-grf
87 - rockchip,rk3308-grf
88 - rockchip,rk3308-usb2phy-grf
89 - rockchip,rk3328-grf
90 - rockchip,rk3328-usb2phy-grf
91 - rockchip,rk3368-grf
92 - rockchip,rk3368-pmugrf
93 - rockchip,rk3399-grf
94 - rockchip,rk3399-pmugrf
95 - rockchip,rk3562-pmu-grf
96 - rockchip,rk3568-grf
97 - rockchip,rk3568-pmugrf
98 - rockchip,rk3576-ioc-grf
99 - rockchip,rk3576-pmu0-grf
100 - rockchip,rk3576-usb2phy-grf
101 - rockchip,rk3588-usb2phy-grf
102 - rockchip,rv1103b-pmu-grf
103 - rockchip,rv1108-grf
104 - rockchip,rv1108-pmugrf
105 - rockchip,rv1126-grf
106 - rockchip,rv1126-pmugrf
107 - const: syscon
108 - const: simple-mfd
109
110 reg:
111 maxItems: 1
112
113 clocks:
114 maxItems: 1
115
116 "#address-cells":
117 const: 1
118
119 "#size-cells":
120 const: 1
121
122required:
123 - compatible
124 - reg
125
126additionalProperties:
127 type: object
128
129allOf:
130 - if:
131 properties:
132 compatible:
133 contains:
134 enum:
135 - rockchip,px30-grf
136
137 then:
138 properties:
139 lvds:
140 type: object
141
142 $ref: /schemas/display/rockchip/rockchip,lvds.yaml#
143
144 unevaluatedProperties: false
145
146 - if:
147 properties:
148 compatible:
149 contains:
150 const: rockchip,rk3288-grf
151
152 then:
153 properties:
154 edp-phy:
155 type: object
156 $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml#
157 unevaluatedProperties: false
158
159 - if:
160 properties:
161 compatible:
162 contains:
163 enum:
164 - rockchip,rk3066-grf
165 - rockchip,rk3188-grf
166 - rockchip,rk3288-grf
167
168 then:
169 properties:
170 usbphy:
171 type: object
172
173 $ref: /schemas/phy/rockchip-usb-phy.yaml#
174
175 unevaluatedProperties: false
176
177 - if:
178 properties:
179 compatible:
180 contains:
181 const: rockchip,rk3328-grf
182
183 then:
184 properties:
185 gpio:
186 type: object
187 properties:
188 compatible:
189 contains:
190 const: rockchip,rk3328-grf-gpio
191
192 additionalProperties: true
193
194 power-controller:
195 type: object
196
197 $ref: /schemas/power/rockchip,power-controller.yaml#
198
199 unevaluatedProperties: false
200
201 - if:
202 properties:
203 compatible:
204 contains:
205 const: rockchip,rk3399-grf
206
207 then:
208 properties:
209 mipi-dphy-rx0:
210 type: object
211
212 $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml#
213
214 unevaluatedProperties: false
215
216 pcie-phy:
217 type: object
218 $ref: /schemas/phy/rockchip,rk3399-pcie-phy.yaml#
219 unevaluatedProperties: false
220
221 patternProperties:
222 "^phy@[0-9a-f]+$":
223 type: object
224 $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#
225 unevaluatedProperties: false
226
227 - if:
228 properties:
229 compatible:
230 contains:
231 enum:
232 - rockchip,px30-pmugrf
233 - rockchip,rk3036-grf
234 - rockchip,rk3308-grf
235 - rockchip,rk3368-pmugrf
236 - rockchip,rv1103b-pmu-grf
237
238 then:
239 properties:
240 reboot-mode:
241 type: object
242
243 $ref: /schemas/power/reset/syscon-reboot-mode.yaml#
244
245 unevaluatedProperties: false
246
247 - if:
248 properties:
249 compatible:
250 contains:
251 enum:
252 - rockchip,px30-usb2phy-grf
253 - rockchip,rk3128-grf
254 - rockchip,rk3228-grf
255 - rockchip,rk3308-usb2phy-grf
256 - rockchip,rk3328-usb2phy-grf
257 - rockchip,rk3399-grf
258 - rockchip,rk3576-usb2phy-grf
259 - rockchip,rk3588-usb2phy-grf
260 - rockchip,rv1108-grf
261
262 then:
263 required:
264 - "#address-cells"
265 - "#size-cells"
266
267 patternProperties:
268 "usb2phy@[0-9a-f]+$":
269 type: object
270
271 $ref: /schemas/phy/rockchip,inno-usb2phy.yaml#
272
273 unevaluatedProperties: false
274
275 - if:
276 properties:
277 compatible:
278 contains:
279 enum:
280 - rockchip,px30-grf
281 - rockchip,px30-pmugrf
282 - rockchip,rk3188-grf
283 - rockchip,rk3228-grf
284 - rockchip,rk3288-grf
285 - rockchip,rk3328-grf
286 - rockchip,rk3368-grf
287 - rockchip,rk3368-pmugrf
288 - rockchip,rk3399-grf
289 - rockchip,rk3399-pmugrf
290 - rockchip,rk3568-pmugrf
291 - rockchip,rk3588-pmugrf
292 - rockchip,rv1108-grf
293 - rockchip,rv1108-pmugrf
294
295 then:
296 properties:
297 io-domains:
298 type: object
299
300 $ref: /schemas/power/rockchip-io-domain.yaml#
301
302 unevaluatedProperties: false
303
304 - if:
305 properties:
306 compatible:
307 contains:
308 enum:
309 - rockchip,rk3576-dcphy-grf
310 - rockchip,rk3576-vo1-grf
311 - rockchip,rk3588-vo-grf
312 - rockchip,rk3588-vo0-grf
313 - rockchip,rk3588-vo1-grf
314
315 then:
316 required:
317 - clocks
318
319 else:
320 properties:
321 clocks: false
322
323examples:
324 - |
325 #include <dt-bindings/clock/rk3399-cru.h>
326 #include <dt-bindings/interrupt-controller/arm-gic.h>
327 #include <dt-bindings/power/rk3399-power.h>
328 grf: syscon@ff770000 {
329 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
330 reg = <0xff770000 0x10000>;
331 #address-cells = <1>;
332 #size-cells = <1>;
333
334 mipi_dphy_rx0: mipi-dphy-rx0 {
335 compatible = "rockchip,rk3399-mipi-dphy-rx0";
336 clocks = <&cru SCLK_MIPIDPHY_REF>,
337 <&cru SCLK_DPHY_RX0_CFG>,
338 <&cru PCLK_VIO_GRF>;
339 clock-names = "dphy-ref", "dphy-cfg", "grf";
340 power-domains = <&power RK3399_PD_VIO>;
341 #phy-cells = <0>;
342 };
343
344 pcie-phy {
345 compatible = "rockchip,rk3399-pcie-phy";
346 #phy-cells = <1>;
347 clocks = <&cru SCLK_PCIEPHY_REF>;
348 clock-names = "refclk";
349 resets = <&cru SRST_PCIEPHY>;
350 reset-names = "phy";
351 };
352
353 phy@f780 {
354 compatible = "rockchip,rk3399-emmc-phy";
355 reg = <0xf780 0x20>;
356 clocks = <&sdhci>;
357 clock-names = "emmcclk";
358 drive-impedance-ohm = <50>;
359 #phy-cells = <0>;
360 };
361
362 u2phy0: usb2phy@e450 {
363 compatible = "rockchip,rk3399-usb2phy";
364 reg = <0xe450 0x10>;
365 clocks = <&cru SCLK_USB2PHY0_REF>;
366 clock-names = "phyclk";
367 #clock-cells = <0>;
368 clock-output-names = "clk_usbphy0_480m";
369
370 u2phy0_host: host-port {
371 #phy-cells = <0>;
372 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
373 interrupt-names = "linestate";
374 };
375
376 u2phy0_otg: otg-port {
377 #phy-cells = <0>;
378 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
379 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
380 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
381 interrupt-names = "otg-bvalid", "otg-id",
382 "linestate";
383 };
384 };
385 };