Re: [PATCH v5 1/2] dt-bindings: it6505: add properties to restrict output bandwidth

From: Pin-yen Lin
Date: Wed Oct 26 2022 - 00:03:23 EST


Hi Allen,

On Tue, Oct 25, 2022 at 12:37 AM Rob Herring <robh@xxxxxxxxxx> wrote:
>
> On Wed, Oct 19, 2022 at 05:32:13PM +0800, allen wrote:
> > From: allen chen <allen.chen@xxxxxxxxxx>
> >
> > Add properties to restrict dp output data-lanes and clock.
> >
> > Signed-off-by: Pin-Yen Lin <treapking@xxxxxxxxxxxx>
> > Signed-off-by: Allen Chen <allen.chen@xxxxxxxxxx>
> > ---
> > .../bindings/display/bridge/ite,it6505.yaml | 89 +++++++++++++++++--
> > 1 file changed, 83 insertions(+), 6 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > index 833d11b2303a7..8e607b6929fc9 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > @@ -52,9 +52,70 @@ properties:
> > maxItems: 1
> > description: extcon specifier for the Power Delivery
> >
> > - port:
> > - $ref: /schemas/graph.yaml#/properties/port
> > - description: A port node pointing to DPI host port node
>
> No existing users you are breaking? The commit msg should explain.
>
> > + ports:
> > + $ref: /schemas/graph.yaml#/properties/ports
> > +
> > + properties:
> > + port@0:
> > + $ref: /schemas/graph.yaml#/$defs/port-base
> > + unevaluatedProperties: false
> > + description: A port node pointing to DPI host port node
> > +
> > + properties:
> > + endpoint:
> > + $ref: /schemas/graph.yaml#/$defs/endpoint-base
> > + unevaluatedProperties: false
> > +
> > + properties:
> > + link-frequencies:
> > + minItems: 1
> > + maxItems: 1
> > + description: Allowed max link frequencies in Hz
> > +
> > + port@1:
> > + $ref: /schemas/graph.yaml#/$defs/port-base
> > + unevaluatedProperties: false
> > + description: Video port for DP output
> > +
> > + properties:
> > + endpoint:
> > + $ref: /schemas/graph.yaml#/$defs/endpoint-base
> > + unevaluatedProperties: false
> > +
> > + properties:
> > + data-lanes:
> > + oneOf:
> > + - minItems: 1
> > + maxItems: 1
> > + uniqueItems: true
> > + items:
> > + enum:
> > + - 0
> > + - 1
> > + description: For one lane operation.
> > +
> > + - minItems: 2
> > + maxItems: 2
> > + uniqueItems: true
> > + items:
> > + enum:
> > + - 0
> > + - 1
> > + description: For two lanes operation.
> > +
> > + - minItems: 4
> > + maxItems: 4
> > + uniqueItems: true
> > + items:
> > + enum:
> > + - 0
> > + - 1
> > + - 2
> > + - 3
> > + description: For four lanes operation.
>
> I would do just:
>
> data-lanes:
> minItems: 1
> items:
> - enum: [ 0, 1 ]
> - const: 1
> - const: 2
> - const: 3

I believe we also want a `uniqueItems: true` to prevent duplicate
items like `<1 1>`.

Regards,
Pin-yen

>
> It does allow 3 lanes, but I don't think that's a big deal. What it does
> doesn't allow is any order and yours does.
>
> Rob