Hi Geert, On Fri, Feb 14, 2020 at 09:26:23AM +0100, Geert Uytterhoeven wrote: > Document the optional properties for describing module resets, to > support resetting display channels on R-Car Gen2 and Gen3. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Acked-by: Rob Herring <robh@xxxxxxxxxx> > --- > Who's taking this kind of patches? > V1 was submmitted in March 2017. My bad. > > v5: > - Rebase on top of renesas,cmms and renesas,vsps patches, > > v4: > - Use "All but R8A7779" instead of "R8A779[0123456]", to reduce future > churn, > > v3: > - Add Acked-by, > - Drop LVDS resets, as LVDS is now covered by a separate binding, > - Update the example. > > v2: > - s/phandles/phandle/. > --- > .../devicetree/bindings/display/renesas,du.txt | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt > index eb4ae41fe41f83c7..51cd4d1627703a15 100644 > --- a/Documentation/devicetree/bindings/display/renesas,du.txt > +++ b/Documentation/devicetree/bindings/display/renesas,du.txt > @@ -50,6 +50,14 @@ Required Properties: > VSP instance that serves the DU channel, and the channel index identifies > the LIF instance in that VSP. > > +Optional properties: > + - resets: A list of phandle + reset-specifier pairs, one for each entry in > + the reset-names property. > + - reset-names: Names of the resets. This property is model-dependent. > + - All but R8A7779 use one reset for a group of one or more successive > + channels. The resets must be named "du.x" with "x" being the numerical > + index of the lowest channel in the group. I've now reviewed the patches that add those properties to our .dtsi files, and I wonder how we should handle the two SoCs that have DU0, DU1 and DU3, but not DU2. The reset resource is tied to a group of two channels, so we would use du.0 and du.2 respectively, but that conflicts with the above text. I'm trying to think about the implementation on the driver side, where group resources are associated with a group object, whose index is computed by dividing the channel number by 2. We could have a special case in group initialization that uses du.3 instead of du.2 for the second group. What do you think ? Probably overkill, and we should go for du.3 ? > + > Required nodes: > > The connections to the DU output video ports are modeled using the OF graph > @@ -96,6 +104,8 @@ Example: R8A7795 (R-Car H3) ES2.0 DU > <&cpg CPG_MOD 722>, > <&cpg CPG_MOD 721>; > clock-names = "du.0", "du.1", "du.2", "du.3"; > + resets = <&cpg 724>, <&cpg 722>; > + reset-names = "du.0", "du.2"; > renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>; > renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>; > -- Regards, Laurent Pinchart