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