R-Car H3 ES2.0 Salvator-X: Enable DU support in DT
v2 cover R-Car H3 ES2.0 Salvator-X: Enable DU support in DT
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch 2/2 then enables DU in the SoC DT.
The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.x and ES2.0" has been dropped
Laurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU
.../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)
Signature · 3 lines
Regards, Laurent Pinchart
PATCH v2 1/2 drm: 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.
--- .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- 1 file changed, 30 insertions(+), 21 deletions(-)
Documentation/devicetree/bindings/display/renesas,du.txt +30 -21
@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs that handle + 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 instances in that VSP. Required nodes:
@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>; ports { #address-cells = <1>;
@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU }; port@1 { reg = <1>; - du_out_lvds0: endpoint { + du_out_hdmi0: endpoint { + remote-endpoint = <&dw_hdmi0_in>; }; }; port@2 { reg = <2>; - du_out_lvds1: endpoint { + du_out_hdmi1: endpoint { + remote-endpoint = <&dw_hdmi1_in>; + }; + }; + port@3 { + reg = <3>; + du_out_lvds0: endpoint { }; }; };
Signature · 3 lines
Regards, Laurent Pinchart
Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property
Hi Laurent,
Quoted 10 lines · Laurent Pinchart
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 Laurent Pinchart <[email protected]>
Thanks for your patch!
Documentation/devicetree/bindings/display/renesas,du.txt Required Properties: · line 42
Quoted 12 lines
Documentation/devicetree/bindings/display/renesas,du.txt +4
-2@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs that handle + 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 instances in that VSP.
instance
Quoted 29 lines
Documentation/devicetree/bindings/display/renesas,du.txt +7
-17@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
Documentation/devicetree/bindings/display/renesas,du.txt corresponding to each DU output. · line 81
Quoted 10 lines
Documentation/devicetree/bindings/display/renesas,du.txt +10
-0+ <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>;
For increased readability, I suggest formatting this as:
vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property
Hi Geert,
Quoted 74 lines · On Monday 26 Jun 2017 18:36:14 Geert Uytterhoeven wrote:
Quoted 11 lines · Laurent Pinchart
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: Laurent Pinchart
<[email protected]>Thanks for your patch!
Quoted 11 lines
Documentation/devicetree/bindings/display/renesas,du.txt +1
-2@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs thatQuoted 3 lines
handle + 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 instances in that VSP.instance
Quoted 29 lines
Documentation/devicetree/bindings/display/renesas,du.txt +7
-17@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,Documentation/devicetree/bindings/display/renesas,du.txt corresponding to each DU output. · line 81
Quoted 10 lines
Documentation/devicetree/bindings/display/renesas,du.txt +10
-0+ <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>;For increased readability, I suggest formatting this as:
Quoted 1 line
vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
Good point. I'll address both comments in v3.
Signature · 3 lines
Regards, Laurent Pinchart
A message that is not in the archive (sent off-list or not yet received): 20170626162930.30240-2-laurent.pinchart+renesas-ryLnwIuWjnjg/[email protected]
Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property
Quoted 4 lines · Laurent Pinchart
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.
"dt-bindings: display: ..." for the subject.
Quoted 76 lines
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.
--- .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- 1 file changed, 30 insertions(+), 21 deletions(-)Documentation/devicetree/bindings/display/renesas,du.txt +23
-20@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs that handle + 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 instances in that VSP. Required nodes:@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>; ports { #address-cells = <1>;@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU }; port@1 { reg = <1>; - du_out_lvds0: endpoint { + du_out_hdmi0: endpoint { + remote-endpoint = <&dw_hdmi0_in>;
Documentation/devicetree/bindings/display/renesas,du.txt Example: R8A7790 (R-Car H2) DU · line 104
Quoted 10 lines
Documentation/devicetree/bindings/display/renesas,du.txt +5
-1}; }; port@2 { reg = <2>; - du_out_lvds1: endpoint { + du_out_hdmi1: endpoint { + remote-endpoint = <&dw_hdmi1_in>; + }; + }; + port@3 {
Shouldn't a new port be documented somewhere?
Quoted 14 lines
Documentation/devicetree/bindings/display/renesas,du.txt +2
-0+ reg = <3>; + du_out_lvds0: endpoint { }; }; };Signature · 8 lines
Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property
Hi Rob,
Quoted 7 lines · On Wednesday 28 Jun 2017 18:18:07 Rob Herring wrote:
Quoted 4 lines · Laurent Pinchart
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.
"dt-bindings: display: ..." for the subject.
Sorry, I'll fix that.
Quoted 86 lines
Quoted 86 lines
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: Laurent Pinchart
<[email protected]>
---.../devicetree/bindings/display/renesas,du.txt | 51 +++++++++------- 1 file changed, 30 insertions(+), 21 deletions(-)(quoted diff) +0
-0
b/Documentation/devicetree/bindings/display/renesas,du.txtindexc6cb96a4fa93..89bbc7950654100644Documentation/devicetree/bindings/display/renesas,du.txt +1
-2@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs thathandle
+ the memory interfaces for the DU channels. The phandle identifies the
VSP
+ instance that serves the DU channel, and the channel index identifies
theDocumentation/devicetree/bindings/display/renesas,du.txt +20
-18+ LIF instances in that VSP. Required nodes:@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>; ports { #address-cells = <1>;@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU }; port@1 { reg = <1>; - du_out_lvds0: endpoint { + du_out_hdmi0: endpoint { + remote-endpoint = <&dw_hdmi0_in>; }; }; port@2 { reg = <2>;
Quoted 8 lines
Documentation/devicetree/bindings/display/renesas,du.txt Example: R8A7790 (R-Car H2) DU · line 104
Quoted 6 lines
Documentation/devicetree/bindings/display/renesas,du.txt +5
-1- du_out_lvds1: endpoint { + du_out_hdmi1: endpoint { + remote-endpoint = <&dw_hdmi1_in>; + }; + }; + port@3 {Shouldn't a new port be documented somewhere?
I've replaced the R8A7790-based example with one based on the R8A7795, as it gives a better idea of how to use the vsps property. Port 3 is already defined for the R8A7795 earlier in this file.
Port 0 Port1 Port2 Port3
-----------------------------------------------------------------------------
...
R8A7790 (H2) DPAD LVDS 0 LVDS 1 -
...
R8A7795 (H3) DPAD HDMI 0 HDMI 1 LVDS
Quoted 8 lines
Quoted 8 lines
Documentation/devicetree/bindings/display/renesas,du.txt +2
-0+ reg = <3>; + du_out_lvds0: endpoint { };Documentation/devicetree/bindings/display/renesas,du.txt +0
-0}; };
Signature · 3 lines
Regards, Laurent Pinchart
PATCH RESEND 1/2 dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property
In reply to a message not in the archiveOn 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.
--- .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- 1 file changed, 30 insertions(+), 21 deletions(-)
Changes since v2:
- Used proper prefix for subject line
- Fixed type in vsps property description
- Increase visibility in the vsps example
Documentation/devicetree/bindings/display/renesas,du.txt +30 -21
@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs that handle + 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:
@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>; ports { #address-cells = <1>;
@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU }; port@1 { reg = <1>; - du_out_lvds0: endpoint { + du_out_hdmi0: endpoint { + remote-endpoint = <&dw_hdmi0_in>; }; }; port@2 { reg = <2>; - du_out_lvds1: endpoint { + du_out_hdmi1: endpoint { + remote-endpoint = <&dw_hdmi1_in>; + }; + }; + port@3 { + reg = <3>; + du_out_lvds0: endpoint { }; }; };
Signature · 8 lines
Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Simon Horman
AppliedRe: [RESEND] [PATCH v2.1 1/2] dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property
Quoted 5 lines · Laurent Pinchart
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.
Quoted 7 lines
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 Laurent Pinchart <[email protected]>Reviewed-by Geert Uytterhoeven <[email protected]>Acked-by Rob Herring <[email protected]>
Thanks, applied for v2.1.
Re: [RESEND] [PATCH v2.1 1/2] dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property
Quoted 10 lines · Simon Horman
Quoted 9 lines · Laurent Pinchart
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.
Quoted 5 lines
Quoted 3 lines
Signed-off-by Laurent Pinchart <[email protected]>Reviewed-by Geert Uytterhoeven <[email protected]>Acked-by Rob Herring <[email protected]>Thanks, applied for v2.1.
s/v2.1/v4.14/
PATCH v2 1/2 dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property
In reply to Laurent PinchartOn 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.
--- .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- 1 file changed, 30 insertions(+), 21 deletions(-)
Changes since v2:
- Used proper prefix for subject line
- Fixed type in vsps property description
- Increase visibility in the vsps example
Documentation/devicetree/bindings/display/renesas,du.txt +30 -21
@@ -36,8 +36,10 @@ Required Properties: When supplied they must be named "dclkin.x" with "x" being the input clock numerical index. - - vsps: A list of phandles to the VSP nodes that handle the memory - interfaces for the DU channels. + - vsps: A list of phandle and channel index tuples to the VSPs that handle + 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:
@@ -59,24 +61,24 @@ corresponding to each DU output. R8A7796 (M3-W) DPAD HDMI LVDS - -Example: R8A7790 (R-Car H2) DU +Example: R8A7795 (R-Car H3) ES2.0 DU - du: du@feb00000 { - compatible = "renesas,du-r8a7790"; - reg = <0 0xfeb00000 0 0x70000>, - <0 0xfeb90000 0 0x1c>, - <0 0xfeb94000 0 0x1c>; - reg-names = "du", "lvds.0", "lvds.1"; - interrupt-parent = <&gic>; - interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>, - <0 268 IRQ_TYPE_LEVEL_HIGH>, - <0 269 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&mstp7_clks R8A7790_CLK_DU0>, - <&mstp7_clks R8A7790_CLK_DU1>, - <&mstp7_clks R8A7790_CLK_DU2>, - <&mstp7_clks R8A7790_CLK_LVDS0>, - <&mstp7_clks R8A7790_CLK_LVDS1>; - clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1"; + du: display@feb00000 { + compatible = "renesas,du-r8a7795"; + reg = <0 0xfeb00000 0 0x80000>, + <0 0xfeb90000 0 0x14>; + reg-names = "du", "lvds.0"; + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cpg CPG_MOD 724>, + <&cpg CPG_MOD 723>, + <&cpg CPG_MOD 722>, + <&cpg CPG_MOD 721>, + <&cpg CPG_MOD 727>; + clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>; ports { #address-cells = <1>;
@@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU }; port@1 { reg = <1>; - du_out_lvds0: endpoint { + du_out_hdmi0: endpoint { + remote-endpoint = <&dw_hdmi0_in>; }; }; port@2 { reg = <2>; - du_out_lvds1: endpoint { + du_out_hdmi1: endpoint { + remote-endpoint = <&dw_hdmi1_in>; + }; + }; + port@3 { + reg = <3>; + du_out_lvds0: endpoint { }; }; };
Signature · 3 lines
Regards, Laurent Pinchart
Re: [PATCH v2.1 1/2] dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property
Quoted 10 lines · Laurent Pinchart
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 Laurent Pinchart <[email protected]>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2.1 1/2] dt-bindings: display: rcar-du: Add a VSP channel index to the vsps DT property
In reply to Laurent PinchartQuoted 5 lines · Laurent Pinchart
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.
Quoted 8 lines
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 Laurent Pinchart <[email protected]>--- .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- 1 file changed, 30 insertions(+), 21 deletions(-)
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
A message that is not in the archive (sent off-list or not yet received): 20170626162930.30240-1-laurent.pinchart+renesas-ryLnwIuWjnjg/[email protected]
PATCH v2 2/2 arm64: dts: r8a7795: Add support for the DU
Add a compatible string and VSP links to the DU node. The H3 ES1.x and H3 ES2.0 are compatible save for the links to the VSPs that are described explicitly in DT, so there's no need for a new ES2-specific compatible string.
--- arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi +0 -1
@@ -79,6 +79,5 @@ }; &du { - compatible = "renesas,du-r8a7795"; vsps = <&vspd0 &vspd1 &vspd2 &vspd3>; };
arch/arm64/boot/dts/renesas/r8a7795.dtsi +2 -0
@@ -1755,6 +1755,7 @@ }; du: display@feb00000 { + compatible = "renesas,du-r8a7795"; reg = <0 0xfeb00000 0 0x80000>, <0 0xfeb90000 0 0x14>; reg-names = "du", "lvds.0";
@@ -1768,6 +1769,7 @@ <&cpg CPG_MOD 721>, <&cpg CPG_MOD 727>; clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0"; + vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>; status = "disabled"; ports {
Signature · 8 lines
Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Simon,
Could you please pick this series for v4.14 ? I believe it has received the necessary acks.
Quoted 23 lines · On Monday 26 Jun 2017 19:29:28 Laurent Pinchart wrote:
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch 2/2 then enables DU in the SoC DT.
The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.x and ES2.0" has been droppedLaurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU.../devicetree/bindings/display/renesas,du.txt | 51 ++++++++++--------- arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)
Signature · 3 lines
Regards, Laurent Pinchart
Quoted 25 lines · Laurent Pinchart
Quoted 15 lines · On Monday 26 Jun 2017 19:29:28 Laurent Pinchart wrote:
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch 2/2 then enables DU in the SoC DT.
The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.x and ES2.0" has been droppedQuoted 8 lines
Laurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU.../devicetree/bindings/display/renesas,du.txt | 51 ++++++++++--------- arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)
Quoted 4 lines
Hi Simon,
Could you please pick this series for v4.14 ? I believe it has received the necessary acks.
Hi Laurent,
sure, both patches applied for v4.14.
Hi Simon,
Quoted 26 lines · On Tuesday 11 Jul 2017 11:16:17 Simon Horman wrote:
Quoted 25 lines · Laurent Pinchart
Quoted 23 lines · On Monday 26 Jun 2017 19:29:28 Laurent Pinchart wrote:
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch 2/2 then enables DU in the SoC DT.
The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.x and ES2.0" has been droppedLaurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU.../devicetree/bindings/display/renesas,du.txt | 51 ++++++++------- arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)
Quoted 8 lines
Quoted 4 lines
Hi Simon,
Could you please pick this series for v4.14 ? I believe it has received the necessary acks.
Hi Laurent,
sure, both patches applied for v4.14.
It looks like you've picked v2 instead of v2.1 for patch 2/2 :-/ Is it possible to fix that ?
Signature · 3 lines
Regards, Laurent Pinchart
Quoted 34 lines · Laurent Pinchart
Hi Simon,
Quoted 31 lines · On Tuesday 11 Jul 2017 11:16:17 Simon Horman wrote:
Quoted 29 lines · Laurent Pinchart
Quoted 15 lines · On Monday 26 Jun 2017 19:29:28 Laurent Pinchart wrote:
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch 2/2 then enables DU in the SoC DT.
The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.x and ES2.0" has been droppedQuoted 8 lines
Laurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU.../devicetree/bindings/display/renesas,du.txt | 51 ++++++++------- arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)Hi Simon,
Could you please pick this series for v4.14 ? I believe it has received the necessary acks.
Quoted 6 lines
Quoted 3 lines
Hi Laurent,
sure, both patches applied for v4.14.
It looks like you've picked v2 instead of v2.1 for patch 2/2 :-/ Is it possible to fix that ?
Sure, but I don't see v2.1. Could you repost it?
Hi Simon,
Quoted 35 lines · On Wednesday 12 Jul 2017 07:56:15 Simon Horman wrote:
Quoted 34 lines · Laurent Pinchart
Quoted 33 lines · On Tuesday 11 Jul 2017 11:16:17 Simon Horman wrote:
Quoted 31 lines · Laurent Pinchart
Quoted 17 lines · On Monday 26 Jun 2017 19:29:28 Laurent Pinchart wrote:
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch
2/2 then enables DU in the SoC DT.The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.xand ES2.0" has been dropped
Quoted 8 lines
Laurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU.../devicetree/bindings/display/renesas,du.txt | 51 +++++++------ arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)Hi Simon,
Could you please pick this series for v4.14 ? I believe it has received the necessary acks.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Hi Laurent,
sure, both patches applied for v4.14.
It looks like you've picked v2 instead of v2.1 for patch 2/2 :-/ Is it possible to fix that ?
Sure, but I don't see v2.1. Could you repost it?
Strange. I've reposted the patch and CC'ed you.
Signature · 3 lines
Regards, Laurent Pinchart
Quoted 40 lines · Laurent Pinchart
Hi Simon,
Quoted 37 lines · On Wednesday 12 Jul 2017 07:56:15 Simon Horman wrote:
Quoted 36 lines · Laurent Pinchart
Quoted 35 lines · On Tuesday 11 Jul 2017 11:16:17 Simon Horman wrote:
Quoted 27 lines · Laurent Pinchart
Quoted 17 lines · On Monday 26 Jun 2017 19:29:28 Laurent Pinchart wrote:
Hello,
This patch series enable DU support in DT for the R-Car H3 ES2.0 Salvator-X board. Patch 1/2 extends the DT bindings as needed, and patch
2/2 then enables DU in the SoC DT.The patches are based on top of Simon's arm64-dt-for-v4.14 branch.
Compared to v1
- the VSP DT bindings have been extended in patch 1/2
- patch 2/2 has been updated accordingly
- patch "arm64: dts: r8a7795: salvator-x: Unify DU node between ES1.xand ES2.0" has been dropped
Quoted 8 lines
Laurent Pinchart (2):
drm: rcar-du: Add a VSP channel index to the vsps DT property
arm64: dts: r8a7795: Add support for the DU.../devicetree/bindings/display/renesas,du.txt | 51 +++++++------ arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 1 - arch/arm64/boot/dts/renesas/r8a7795.dtsi | 2 + 3 files changed, 32 insertions(+), 22 deletions(-)Quoted 4 lines
Hi Simon,
Could you please pick this series for v4.14 ? I believe it has received the necessary acks.
Hi Laurent,
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
sure, both patches applied for v4.14.
It looks like you've picked v2 instead of v2.1 for patch 2/2 :-/ Is it possible to fix that ?
Sure, but I don't see v2.1. Could you repost it?
Strange. I've reposted the patch and CC'ed you.
Thanks, I think the change of subject confused me.
In any case I have applied the repost of v2.1 and will push it later today.