xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/rockchip/rockchip,rk618.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1Rockchip RK618 display bridge bindings
2======================================
3
4VIF Module
5----------
6
7Required properties:
8- compatible: value should be one of the following:
9   "rockchip,rk618-vif"
10- clocks: must include clock specifiers corresponding to entries in the
11	  clock-names property.
12	  See ../clocks/clock-bindings.txt for details.
13- clock-names: list of clock names sorted in the same order as the clocks
14	       property. Must contain "vif", "vif_pre".
15
16Required nodes:
17
18The connections to the video ports are modeled using the OF graph
19bindings specified in Documentation/devicetree/bindings/graph.txt.
20
21Example:
22
23&rk618 {
24	status = "okay";
25
26	vif {
27		compatible = "rockchip,rk618-vif";
28		clocks = <&CRU VIF0_CLK>, <&CRU VIF0_PRE_CLK>;
29		clock-names = "vif", "vif_pre";
30		status = "okay";
31
32		ports {
33			#address-cells = <1>;
34			#size-cells = <0>;
35
36			port@0 {
37				reg = <0>;
38
39				bridge_input_rgb: endpoint {
40					remote-endpoint = <&rgb_out_bridge>;
41				};
42			};
43
44			port@1 {
45				reg = <1>;
46
47				vif_output_hdmi: endpoint {
48					remote-endpoint = <&hdmi_input_vif>;
49				};
50			};
51		};
52	};
53};
54
55SCALER Module
56----------
57
58Required properties:
59- compatible: value should be one of the following:
60   "rockchip,rk618-scaler"
61- clocks: must include clock specifiers corresponding to entries in the
62	  clock-names property.
63	  See ../clocks/clock-bindings.txt for details.
64- clock-names: list of clock names sorted in the same order as the clocks
65	       property. Must contain "scaler", "vif", "dither".
66
67Required nodes:
68
69The connections to the video ports are modeled using the OF graph
70bindings specified in Documentation/devicetree/bindings/graph.txt.
71
72Example:
73
74&rk618 {
75	status = "okay";
76
77	scaler {
78		compatible = "rockchip,rk618-scaler";
79		clocks = <&CRU SCALER_CLK>, <&CRU DITHER_CLK>, <&CRU VIF0_CLK>;
80		clock-names = "scaler", "dither", "vif";
81		status = "okay";
82
83		ports {
84			#address-cells = <1>;
85			#size-cells = <0>;
86
87			port@0 {
88				reg = <0>;
89
90				scaler_input_hdmi: endpoint {
91					remote-endpoint = <&hdmi_output_scaler>;
92				};
93			};
94
95			port@1 {
96				reg = <1>;
97
98				scaler_output_lvds: endpoint {
99					remote-endpoint = <&lvds_input_scaler>;
100				};
101			};
102		};
103	};
104};
105
106LVDS Connector
107------------
108
109Required properties:
110- compatible: value should be one of the following:
111   "rockchip,rk618-lvds"
112- clocks: must include clock specifiers corresponding to entries in the
113	  clock-names property.
114	  See ../clocks/clock-bindings.txt for details.
115- clock-names: list of clock names sorted in the same order as the clocks
116	       property. Must contain "lvds".
117
118Optional properties:
119- dual-channel: boolean. if it exists, enable dual channel mode
120
121Required nodes:
122
123The connections to the video ports are modeled using the OF graph
124bindings specified in Documentation/devicetree/bindings/graph.txt.
125
126Example:
127
128&rk618 {
129	status = "okay";
130
131	lvds {
132		compatible = "rockchip,rk618-lvds";
133		clocks = <&CRU LVDS_CLK>;
134		clock-names = "lvds";
135		status = "okay";
136
137		ports {
138			#address-cells = <1>;
139			#size-cells = <0>;
140
141			port@0 {
142				reg = <0>;
143
144				bridge_input_rgb: endpoint {
145					remote-endpoint = <&rgb_out_bridge>;
146				};
147			};
148
149			port@1 {
150				reg = <1>;
151
152				lvds_output_panel: endpoint {
153					remote-endpoint = <&panel_input_lvds>;
154				};
155			};
156		};
157	};
158};
159
160RGB Connector
161------------
162
163Required properties:
164- compatible: value should be one of the following:
165   "rockchip,rk618-rgb"
166- clocks: must include clock specifiers corresponding to entries in the
167	  clock-names property.
168	  See ../clocks/clock-bindings.txt for details.
169- clock-names: list of clock names sorted in the same order as the clocks
170	       property. Must contain "rgb".
171
172Required nodes:
173
174The connections to the video ports are modeled using the OF graph
175bindings specified in Documentation/devicetree/bindings/graph.txt.
176
177Example:
178
179&rk618 {
180	status = "okay";
181
182	rgb {
183		compatible = "rockchip,rk618-rgb";
184		clocks = <&CRU RGB_CLK>;
185		clock-names = "rgb";
186		status = "okay";
187
188		ports {
189			#address-cells = <1>;
190			#size-cells = <0>;
191
192			port@0 {
193				reg = <0>;
194
195				bridge_input_rgb: endpoint {
196					remote-endpoint = <&rgb_out_bridge>;
197				};
198			};
199
200			port@1 {
201				reg = <1>;
202				#address-cells = <1>;
203				#size-cells = <0>;
204
205				rgb_output_panel: endpoint@0 {
206					reg = <0>;
207					remote-endpoint = <&panel_input_rgb>;
208				};
209			};
210		};
211	};
212};
213
214HDMI Connector
215------------
216
217Required properties:
218- compatible: value should be one of the following:
219   "rockchip,rk618-hdmi"
220- clocks: must include clock specifiers corresponding to entries in the
221	  clock-names property.
222	  See ../clocks/clock-bindings.txt for details.
223- clock-names: list of clock names sorted in the same order as the clocks
224	       property. Must contain "hdmi".
225- interrupt-parent: phandle for the interrupt gpio controller
226- interrupts: GPIO interrupt to which the chip is connected
227
228Required nodes:
229
230The connections to the video ports are modeled using the OF graph
231bindings specified in Documentation/devicetree/bindings/graph.txt.
232
233Example:
234
235&rk618 {
236	status = "okay";
237
238	hdmi {
239		compatible = "rockchip,rk618-hdmi";
240		clocks = <&CRU HDMI_CLK>;
241		clock-names = "hdmi";
242		interrupt-parent = <&gpio3>;
243		interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
244		status = "okay";
245
246		ports {
247			#address-cells = <1>;
248			#size-cells = <0>;
249
250			port@0 {
251				reg = <0>;
252
253				bridge_input_rgb: endpoint {
254					remote-endpoint = <&rgb_out_bridge>;
255				};
256			};
257		};
258	};
259};
260
261DSI Connector
262------------
263
264Required properties:
265- compatible: value should be one of the following:
266   "rockchip,rk618-dsi"
267- clocks: must include clock specifiers corresponding to entries in the
268	  clock-names property.
269	  See ../clocks/clock-bindings.txt for details.
270- clock-names: list of clock names sorted in the same order as the clocks
271	       property. Must contain "dsi".
272- #address-cells, #size-cells: should be set respectively to <1> and <0>.
273
274Optional properties:
275- rockchip,lane-rate: specifies the lane data rate [Mbps]
276
277Child nodes:
278  Should contain DSI peripheral nodes
279  (see Documentation/devicetree/bindings/display/mipi-dsi-bus.txt).
280
281Required nodes:
282
283The connections to the video ports are modeled using the OF graph
284bindings specified in Documentation/devicetree/bindings/graph.txt.
285
286Example:
287
288&rk618 {
289	status = "okay";
290
291	dsi {
292		compatible = "rockchip,rk618-dsi";
293		clocks = <&CRU MIPI_CLK>;
294		clock-names = "dsi";
295		#address-cells = <1>;
296		#size-cells = <0>;
297		status = "okay";
298
299		ports {
300			#address-cells = <1>;
301			#size-cells = <0>;
302
303			port@0 {
304				reg = <0>;
305
306				bridge_input_rgb: endpoint {
307					remote-endpoint = <&rgb_out_bridge>;
308				};
309			};
310		};
311	};
312};
313