Commit fd57d77f authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Simon Horman

dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property

On some R-Car SoCs a single VSP can serve multiple DU channels through
multiple LIF instances in the VSP. The current DT bindings don't support
specifying that kind of SoC integration scheme. Extend them with a VSP
channel index.

Backward compatibility can be ensured in drivers by checking the length
of the vsps property and setting the channel to 0 when the property
doesn't contain channel indices.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent d5f2ac6a
...@@ -36,8 +36,10 @@ Required Properties: ...@@ -36,8 +36,10 @@ Required Properties:
When supplied they must be named "dclkin.x" with "x" being the input When supplied they must be named "dclkin.x" with "x" being the input
clock numerical index. clock numerical index.
- vsps: A list of phandles to the VSP nodes that handle the memory - vsps: A list of phandle and channel index tuples to the VSPs that handle
interfaces for the DU channels. the memory interfaces for the DU channels. The phandle identifies the VSP
instance that serves the DU channel, and the channel index identifies the
LIF instance in that VSP.
Required nodes: Required nodes:
...@@ -59,24 +61,24 @@ corresponding to each DU output. ...@@ -59,24 +61,24 @@ corresponding to each DU output.
R8A7796 (M3-W) DPAD HDMI LVDS - R8A7796 (M3-W) DPAD HDMI LVDS -
Example: R8A7790 (R-Car H2) DU Example: R8A7795 (R-Car H3) ES2.0 DU
du: du@feb00000 { du: display@feb00000 {
compatible = "renesas,du-r8a7790"; compatible = "renesas,du-r8a7795";
reg = <0 0xfeb00000 0 0x70000>, reg = <0 0xfeb00000 0 0x80000>,
<0 0xfeb90000 0 0x1c>, <0 0xfeb90000 0 0x14>;
<0 0xfeb94000 0 0x1c>; reg-names = "du", "lvds.0";
reg-names = "du", "lvds.0", "lvds.1"; interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
interrupt-parent = <&gic>; <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
<0 268 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
<0 269 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cpg CPG_MOD 724>,
clocks = <&mstp7_clks R8A7790_CLK_DU0>, <&cpg CPG_MOD 723>,
<&mstp7_clks R8A7790_CLK_DU1>, <&cpg CPG_MOD 722>,
<&mstp7_clks R8A7790_CLK_DU2>, <&cpg CPG_MOD 721>,
<&mstp7_clks R8A7790_CLK_LVDS0>, <&cpg CPG_MOD 727>;
<&mstp7_clks R8A7790_CLK_LVDS1>; clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0";
clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
ports { ports {
#address-cells = <1>; #address-cells = <1>;
...@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU ...@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
du_out_lvds0: endpoint { du_out_hdmi0: endpoint {
remote-endpoint = <&dw_hdmi0_in>;
}; };
}; };
port@2 { port@2 {
reg = <2>; reg = <2>;
du_out_lvds1: endpoint { du_out_hdmi1: endpoint {
remote-endpoint = <&dw_hdmi1_in>;
};
};
port@3 {
reg = <3>;
du_out_lvds0: endpoint {
}; };
}; };
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment