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>; }; }; }; }; };