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

From: Rob Herring
Date: Mon Oct 24 2022 - 14:05:16 EST


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

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