Rockchip RK618 display bridge bindings
======================================
VIF Module
----------
Required properties:
- compatible: value should be one of the following:
"rockchip,rk618-vif"
- clocks: must include clock specifiers corresponding to entries in the
clock-names property.
See ../clocks/clock-bindings.txt for details.
- clock-names: list of clock names sorted in the same order as the clocks
property. Must contain "vif", "vif_pre".
Required nodes:
The connections to the video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.
Example:
&rk618 {
status = "okay";
vif {
compatible = "rockchip,rk618-vif";
clocks = <&CRU VIF0_CLK>, <&CRU VIF0_PRE_CLK>;
clock-names = "vif", "vif_pre";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_input_rgb: endpoint {
remote-endpoint = <&rgb_out_bridge>;
};
};
port@1 {
reg = <1>;
vif_output_hdmi: endpoint {
remote-endpoint = <&hdmi_input_vif>;
};
};
};
};
};
SCALER Module
----------
Required properties:
- compatible: value should be one of the following:
"rockchip,rk618-scaler"
- clocks: must include clock specifiers corresponding to entries in the
clock-names property.
See ../clocks/clock-bindings.txt for details.
- clock-names: list of clock names sorted in the same order as the clocks
property. Must contain "scaler", "vif", "dither".
Required nodes:
The connections to the video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.
Example:
&rk618 {
status = "okay";
scaler {
compatible = "rockchip,rk618-scaler";
clocks = <&CRU SCALER_CLK>, <&CRU DITHER_CLK>, <&CRU VIF0_CLK>;
clock-names = "scaler", "dither", "vif";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
scaler_input_hdmi: endpoint {
remote-endpoint = <&hdmi_output_scaler>;
};
};
port@1 {
reg = <1>;
scaler_output_lvds: endpoint {
remote-endpoint = <&lvds_input_scaler>;
};
};
};
};
};
LVDS Connector
------------
Required properties:
- compatible: value should be one of the following:
"rockchip,rk618-lvds"
- clocks: must include clock specifiers corresponding to entries in the
clock-names property.
See ../clocks/clock-bindings.txt for details.
- clock-names: list of clock names sorted in the same order as the clocks
property. Must contain "lvds".
Optional properties:
- dual-channel: boolean. if it exists, enable dual channel mode
Required nodes:
The connections to the video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.
Example:
&rk618 {
status = "okay";
lvds {
compatible = "rockchip,rk618-lvds";
clocks = <&CRU LVDS_CLK>;
clock-names = "lvds";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_input_rgb: endpoint {
remote-endpoint = <&rgb_out_bridge>;
};
};
port@1 {
reg = <1>;
lvds_output_panel: endpoint {
remote-endpoint = <&panel_input_lvds>;
};
};
};
};
};
RGB Connector
------------
Required properties:
- compatible: value should be one of the following:
"rockchip,rk618-rgb"
- clocks: must include clock specifiers corresponding to entries in the
clock-names property.
See ../clocks/clock-bindings.txt for details.
- clock-names: list of clock names sorted in the same order as the clocks
property. Must contain "rgb".
Required nodes:
The connections to the video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.
Example:
&rk618 {
status = "okay";
rgb {
compatible = "rockchip,rk618-rgb";
clocks = <&CRU RGB_CLK>;
clock-names = "rgb";
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_input_rgb: endpoint {
remote-endpoint = <&rgb_out_bridge>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
rgb_output_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input_rgb>;
};
};
};
};
};
HDMI Connector
------------
Required properties:
- compatible: value should be one of the following:
"rockchip,rk618-hdmi"
- clocks: must include clock specifiers corresponding to entries in the
clock-names property.
See ../clocks/clock-bindings.txt for details.
- clock-names: list of clock names sorted in the same order as the clocks
property. Must contain "hdmi".
- interrupt-parent: phandle for the interrupt gpio controller
- interrupts: GPIO interrupt to which the chip is connected
Required nodes:
The connections to the video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.
Example:
&rk618 {
status = "okay";
hdmi {
compatible = "rockchip,rk618-hdmi";
clocks = <&CRU HDMI_CLK>;
clock-names = "hdmi";
interrupt-parent = <&gpio3>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_input_rgb: endpoint {
remote-endpoint = <&rgb_out_bridge>;
};
};
};
};
};
DSI Connector
------------
Required properties:
- compatible: value should be one of the following:
"rockchip,rk618-dsi"
- clocks: must include clock specifiers corresponding to entries in the
clock-names property.
See ../clocks/clock-bindings.txt for details.
- clock-names: list of clock names sorted in the same order as the clocks
property. Must contain "dsi".
- #address-cells, #size-cells: should be set respectively to <1> and <0>.
Optional properties:
- rockchip,lane-rate: specifies the lane data rate [Mbps]
Child nodes:
Should contain DSI peripheral nodes
(see Documentation/devicetree/bindings/display/mipi-dsi-bus.txt).
Required nodes:
The connections to the video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.
Example:
&rk618 {
status = "okay";
dsi {
compatible = "rockchip,rk618-dsi";
clocks = <&CRU MIPI_CLK>;
clock-names = "dsi";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
bridge_input_rgb: endpoint {
remote-endpoint = <&rgb_out_bridge>;
};
};
};
};
};