dt-bindings: soc: rockchip: grf: add rockchip,rk3288-dp-phy.yaml
[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
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
66required:
67 - compatible
68 - reg
69
70additionalProperties:
71 type: object
72
73allOf:
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
236examples:
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 };