From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property Date: Wed, 28 Jun 2017 18:18:07 -0500 Message-ID: <20170628231807.lzq3nepac3zsx74b@rob-hp-laptop> References: <20170626162930.30240-1-laurent.pinchart+renesas@ideasonboard.com> <20170626162930.30240-2-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20170626162930.30240-2-laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Laurent Pinchart Cc: linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: devicetree@vger.kernel.org On Mon, Jun 26, 2017 at 07:29:29PM +0300, Laurent Pinchart wrote: > 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. > > 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 > --- > .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- > 1 file changed, 30 insertions(+), 21 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt > index c6cb96a4fa93..89bbc7950654 100644 > --- a/Documentation/devicetree/bindings/display/renesas,du.txt > +++ b/Documentation/devicetree/bindings/display/renesas,du.txt > @@ -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 = , > + , > + , > + ; > + 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 { Shouldn't a new port be documented somewhere? > + reg = <3>; > + du_out_lvds0: endpoint { > }; > }; > }; > -- > Regards, > > Laurent Pinchart > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > 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 majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f195.google.com ([209.85.223.195]:33722 "EHLO mail-io0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751758AbdF1XSK (ORCPT ); Wed, 28 Jun 2017 19:18:10 -0400 Date: Wed, 28 Jun 2017 18:18:07 -0500 From: Rob Herring To: Laurent Pinchart Cc: linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org Subject: Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property Message-ID: <20170628231807.lzq3nepac3zsx74b@rob-hp-laptop> References: <20170626162930.30240-1-laurent.pinchart+renesas@ideasonboard.com> <20170626162930.30240-2-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170626162930.30240-2-laurent.pinchart+renesas@ideasonboard.com> Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: On Mon, Jun 26, 2017 at 07:29:29PM +0300, Laurent Pinchart wrote: > 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. > > 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 > --- > .../devicetree/bindings/display/renesas,du.txt | 51 +++++++++++++--------- > 1 file changed, 30 insertions(+), 21 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt > index c6cb96a4fa93..89bbc7950654 100644 > --- a/Documentation/devicetree/bindings/display/renesas,du.txt > +++ b/Documentation/devicetree/bindings/display/renesas,du.txt > @@ -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 = , > + , > + , > + ; > + 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 { Shouldn't a new port be documented somewhere? > + reg = <3>; > + du_out_lvds0: endpoint { > }; > }; > }; > -- > Regards, > > Laurent Pinchart > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html