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