Message ID | 20241206-rcar-gh-dsi-v3-4-d74c2166fa15@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Add DSI/DP support for Renesas r8a779h0 V4M and grey-hawk board | expand |
On Fri, Dec 06, 2024 at 11:32:37AM +0200, Tomi Valkeinen wrote: > From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> > > Extend the Renesas DU display bindings to support the r8a779h0 V4M. > > Note that we remove the requirement for two ports from the global part > of the bindings, as each conditional part defines the number of required > ports already. This came up with r8a779h0 as it's the first one that has > only one port. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > .../devicetree/bindings/display/renesas,du.yaml | 52 ++++++++++++++++++++-- > 1 file changed, 48 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/renesas,du.yaml b/Documentation/devicetree/bindings/display/renesas,du.yaml > index c5b9e6812bce..7dec47aea052 100644 > --- a/Documentation/devicetree/bindings/display/renesas,du.yaml > +++ b/Documentation/devicetree/bindings/display/renesas,du.yaml > @@ -41,6 +41,7 @@ properties: > - renesas,du-r8a77995 # for R-Car D3 compatible DU > - renesas,du-r8a779a0 # for R-Car V3U compatible DU > - renesas,du-r8a779g0 # for R-Car V4H compatible DU > + - renesas,du-r8a779h0 # for R-Car V4M compatible DU > > reg: > maxItems: 1 > @@ -69,10 +70,6 @@ properties: > $ref: /schemas/graph.yaml#/properties/port > unevaluatedProperties: false > > - required: > - - port@0 > - - port@1 > - > unevaluatedProperties: false > > renesas,cmms: > @@ -807,6 +804,53 @@ allOf: > - reset-names > - renesas,vsps > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - renesas,du-r8a779h0 > + then: > + properties: > + clocks: > + items: > + - description: Functional clock > + > + clock-names: > + items: > + - const: du.0 > + > + interrupts: > + maxItems: 1 > + > + resets: > + maxItems: 1 > + > + reset-names: > + items: > + - const: du.0 > + > + ports: > + properties: > + port@0: > + description: DSI 0 > + port@1: false > + port@2: false > + port@3: false > + > + required: > + - port@0 > + > + renesas,vsps: > + minItems: 1 maxItems? The min is already 1. Note maxItems is missing in all the other cases too. Since the top-level definition has no constraints, all the constraints under if/then schemas need both minItems and maxItems. (Unless there's no max). > + > + required: > + - clock-names > + - interrupts > + - resets > + - reset-names > + - renesas,vsps > + > additionalProperties: false > > examples: > > -- > 2.43.0 >
Hi, On 11/12/2024 17:45, Rob Herring wrote: > On Fri, Dec 06, 2024 at 11:32:37AM +0200, Tomi Valkeinen wrote: >> From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> >> >> Extend the Renesas DU display bindings to support the r8a779h0 V4M. >> >> Note that we remove the requirement for two ports from the global part >> of the bindings, as each conditional part defines the number of required >> ports already. This came up with r8a779h0 as it's the first one that has >> only one port. >> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> >> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> >> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> >> --- >> .../devicetree/bindings/display/renesas,du.yaml | 52 ++++++++++++++++++++-- >> 1 file changed, 48 insertions(+), 4 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/display/renesas,du.yaml b/Documentation/devicetree/bindings/display/renesas,du.yaml >> index c5b9e6812bce..7dec47aea052 100644 >> --- a/Documentation/devicetree/bindings/display/renesas,du.yaml >> +++ b/Documentation/devicetree/bindings/display/renesas,du.yaml >> @@ -41,6 +41,7 @@ properties: >> - renesas,du-r8a77995 # for R-Car D3 compatible DU >> - renesas,du-r8a779a0 # for R-Car V3U compatible DU >> - renesas,du-r8a779g0 # for R-Car V4H compatible DU >> + - renesas,du-r8a779h0 # for R-Car V4M compatible DU >> >> reg: >> maxItems: 1 >> @@ -69,10 +70,6 @@ properties: >> $ref: /schemas/graph.yaml#/properties/port >> unevaluatedProperties: false >> >> - required: >> - - port@0 >> - - port@1 >> - >> unevaluatedProperties: false >> >> renesas,cmms: >> @@ -807,6 +804,53 @@ allOf: >> - reset-names >> - renesas,vsps >> >> + - if: >> + properties: >> + compatible: >> + contains: >> + enum: >> + - renesas,du-r8a779h0 >> + then: >> + properties: >> + clocks: >> + items: >> + - description: Functional clock >> + >> + clock-names: >> + items: >> + - const: du.0 >> + >> + interrupts: >> + maxItems: 1 >> + >> + resets: >> + maxItems: 1 >> + >> + reset-names: >> + items: >> + - const: du.0 >> + >> + ports: >> + properties: >> + port@0: >> + description: DSI 0 >> + port@1: false >> + port@2: false >> + port@3: false >> + >> + required: >> + - port@0 >> + >> + renesas,vsps: >> + minItems: 1 > > maxItems? The min is already 1. > > Note maxItems is missing in all the other cases too. Since the top-level > definition has no constraints, all the constraints under if/then schemas > need both minItems and maxItems. (Unless there's no max). Thanks. I have sent a v4, with a new patch that adds the maxItems to all SoCs, and also fixed this patch similarly. Tomi
diff --git a/Documentation/devicetree/bindings/display/renesas,du.yaml b/Documentation/devicetree/bindings/display/renesas,du.yaml index c5b9e6812bce..7dec47aea052 100644 --- a/Documentation/devicetree/bindings/display/renesas,du.yaml +++ b/Documentation/devicetree/bindings/display/renesas,du.yaml @@ -41,6 +41,7 @@ properties: - renesas,du-r8a77995 # for R-Car D3 compatible DU - renesas,du-r8a779a0 # for R-Car V3U compatible DU - renesas,du-r8a779g0 # for R-Car V4H compatible DU + - renesas,du-r8a779h0 # for R-Car V4M compatible DU reg: maxItems: 1 @@ -69,10 +70,6 @@ properties: $ref: /schemas/graph.yaml#/properties/port unevaluatedProperties: false - required: - - port@0 - - port@1 - unevaluatedProperties: false renesas,cmms: @@ -807,6 +804,53 @@ allOf: - reset-names - renesas,vsps + - if: + properties: + compatible: + contains: + enum: + - renesas,du-r8a779h0 + then: + properties: + clocks: + items: + - description: Functional clock + + clock-names: + items: + - const: du.0 + + interrupts: + maxItems: 1 + + resets: + maxItems: 1 + + reset-names: + items: + - const: du.0 + + ports: + properties: + port@0: + description: DSI 0 + port@1: false + port@2: false + port@3: false + + required: + - port@0 + + renesas,vsps: + minItems: 1 + + required: + - clock-names + - interrupts + - resets + - reset-names + - renesas,vsps + additionalProperties: false examples: