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
7 title: Rockchip General Register Files (GRF)
8
9 maintainers:
10 - Heiko Stuebner <heiko@sntech.de>
11
12 properties:
13 compatible:
14 oneOf:
15 - items:
16 - enum:
17 - rockchip,rk3288-sgrf
18 - rockchip,rk3566-pipe-grf
19 - rockchip,rk3568-pipe-grf
20 - rockchip,rk3568-pipe-phy-grf
21 - rockchip,rk3568-usb2phy-grf
22 - rockchip,rv1108-usbgrf
23 - const: syscon
24 - items:
25 - enum:
26 - rockchip,px30-grf
27 - rockchip,px30-pmugrf
28 - rockchip,px30-usb2phy-grf
29 - rockchip,rk3036-grf
30 - rockchip,rk3066-grf
31 - rockchip,rk3188-grf
32 - rockchip,rk3228-grf
33 - rockchip,rk3288-grf
34 - rockchip,rk3308-core-grf
35 - rockchip,rk3308-detect-grf
36 - rockchip,rk3308-grf
37 - rockchip,rk3308-usb2phy-grf
38 - rockchip,rk3328-grf
39 - rockchip,rk3328-usb2phy-grf
40 - rockchip,rk3368-grf
41 - rockchip,rk3368-pmugrf
42 - rockchip,rk3399-grf
43 - rockchip,rk3399-pmugrf
44 - rockchip,rk3568-grf
45 - rockchip,rk3568-pmugrf
46 - rockchip,rv1108-grf
47 - rockchip,rv1108-pmugrf
48 - const: syscon
49 - const: simple-mfd
50
51 reg:
52 maxItems: 1
53
54 "#address-cells":
55 const: 1
56
57 "#size-cells":
58 const: 1
59
60 required:
61 - compatible
62 - reg
63
64 additionalProperties:
65 type: object
66
67 allOf:
68 - if:
69 properties:
70 compatible:
71 contains:
72 const: rockchip,px30-grf
73
74 then:
75 properties:
76 lvds:
77 description:
78 Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt
79
80 - if:
81 properties:
82 compatible:
83 contains:
84 const: rockchip,rk3288-grf
85
86 then:
87 properties:
88 edp-phy:
89 description:
90 Documentation/devicetree/bindings/phy/rockchip-dp-phy.txt
91
92 - if:
93 properties:
94 compatible:
95 contains:
96 enum:
97 - rockchip,rk3066-grf
98 - rockchip,rk3188-grf
99 - rockchip,rk3288-grf
100
101 then:
102 properties:
103 usbphy:
104 type: object
105
106 $ref: "/schemas/phy/rockchip-usb-phy.yaml#"
107
108 unevaluatedProperties: false
109
110 - if:
111 properties:
112 compatible:
113 contains:
114 const: rockchip,rk3328-grf
115
116 then:
117 properties:
118 gpio:
119 type: object
120
121 $ref: "/schemas/gpio/rockchip,rk3328-grf-gpio.yaml#"
122
123 unevaluatedProperties: false
124
125 power-controller:
126 type: object
127
128 $ref: "/schemas/power/rockchip,power-controller.yaml#"
129
130 unevaluatedProperties: false
131
132 - if:
133 properties:
134 compatible:
135 contains:
136 const: rockchip,rk3399-grf
137
138 then:
139 properties:
140 mipi-dphy-rx0:
141 type: object
142
143 $ref: "/schemas/phy/rockchip-mipi-dphy-rx0.yaml#"
144
145 unevaluatedProperties: false
146
147 pcie-phy:
148 description:
149 Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt
150
151 patternProperties:
152 "phy@[0-9a-f]+$":
153 description:
154 Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
155
156 - if:
157 properties:
158 compatible:
159 contains:
160 enum:
161 - rockchip,px30-pmugrf
162 - rockchip,rk3036-grf
163 - rockchip,rk3308-grf
164 - rockchip,rk3368-pmugrf
165
166 then:
167 properties:
168 reboot-mode:
169 type: object
170
171 $ref: "/schemas/power/reset/syscon-reboot-mode.yaml#"
172
173 unevaluatedProperties: false
174
175 - if:
176 properties:
177 compatible:
178 contains:
179 enum:
180 - rockchip,px30-usb2phy-grf
181 - rockchip,rk3228-grf
182 - rockchip,rk3308-usb2phy-grf
183 - rockchip,rk3328-usb2phy-grf
184 - rockchip,rk3399-grf
185 - rockchip,rv1108-grf
186
187 then:
188 required:
189 - "#address-cells"
190 - "#size-cells"
191
192 patternProperties:
193 "usb2phy@[0-9a-f]+$":
194 type: object
195
196 $ref: "/schemas/phy/phy-rockchip-inno-usb2.yaml#"
197
198 unevaluatedProperties: false
199
200 - if:
201 properties:
202 compatible:
203 contains:
204 enum:
205 - rockchip,px30-grf
206 - rockchip,px30-pmugrf
207 - rockchip,rk3188-grf
208 - rockchip,rk3228-grf
209 - rockchip,rk3288-grf
210 - rockchip,rk3328-grf
211 - rockchip,rk3368-grf
212 - rockchip,rk3368-pmugrf
213 - rockchip,rk3399-grf
214 - rockchip,rk3399-pmugrf
215 - rockchip,rk3568-pmugrf
216 - rockchip,rv1108-grf
217 - rockchip,rv1108-pmugrf
218
219 then:
220 properties:
221 io-domains:
222 type: object
223
224 $ref: "/schemas/power/rockchip-io-domain.yaml#"
225
226 unevaluatedProperties: false
227
228 examples:
229 - |
230 #include <dt-bindings/clock/rk3399-cru.h>
231 #include <dt-bindings/interrupt-controller/arm-gic.h>
232 #include <dt-bindings/power/rk3399-power.h>
233 grf: syscon@ff770000 {
234 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
235 reg = <0xff770000 0x10000>;
236 #address-cells = <1>;
237 #size-cells = <1>;
238
239 mipi_dphy_rx0: mipi-dphy-rx0 {
240 compatible = "rockchip,rk3399-mipi-dphy-rx0";
241 clocks = <&cru SCLK_MIPIDPHY_REF>,
242 <&cru SCLK_DPHY_RX0_CFG>,
243 <&cru PCLK_VIO_GRF>;
244 clock-names = "dphy-ref", "dphy-cfg", "grf";
245 power-domains = <&power RK3399_PD_VIO>;
246 #phy-cells = <0>;
247 };
248
249 u2phy0: usb2phy@e450 {
250 compatible = "rockchip,rk3399-usb2phy";
251 reg = <0xe450 0x10>;
252 clocks = <&cru SCLK_USB2PHY0_REF>;
253 clock-names = "phyclk";
254 #clock-cells = <0>;
255 clock-output-names = "clk_usbphy0_480m";
256
257 u2phy0_host: host-port {
258 #phy-cells = <0>;
259 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
260 interrupt-names = "linestate";
261 };
262
263 u2phy0_otg: otg-port {
264 #phy-cells = <0>;
265 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
266 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
267 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
268 interrupt-names = "otg-bvalid", "otg-id",
269 "linestate";
270 };
271 };
272 };
Cache object: 1d77adafa98eff0021df089e1cf9437a
|