Re: [RFC PATCH v2 08/16] dt-bindings: media: i2c: max96712: use pattern properties for ports

Rob Herring
2025-03-11T19:00:45Z

On Sun, Mar 09, 2025 at 10:48:00AM +0200, Cosmin Tanislav wrote:
> The MAX96712 and MAX96724 support up to 4 separate PHYs, depending on
> the selected PHY configuration. Use patternProperties to document this.
>
> The input ports are all the same, use patternProperties for them.
>
> Signed-off-by: Cosmin Tanislav <demonsingur@gmail.com>
> ---
> .../bindings/media/i2c/maxim,max96712.yaml | 29 +++++++------------
> 1 file changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max96712.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max96712.yaml
> index efdece2b33b9..bf8c861c836b 100644
> --- a/Documentation/devicetree/bindings/media/i2c/maxim,max96712.yaml
> +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max96712.yaml
> @@ -40,27 +40,15 @@ properties:
> ports:
> $ref: /schemas/graph.yaml#/properties/ports
>
> - properties:
> - port@0:
> + patternProperties:
> + '^port@[0-3]$':
> $ref: /schemas/graph.yaml#/properties/port
> - description: GMSL Input 0
> + description: GMSL Input port

GMSL Inputs 0-3

Though generally every port needs to be documented. So really, this was
correct before.

>
> - port@1:
> - $ref: /schemas/graph.yaml#/properties/port
> - description: GMSL Input 1
> -
> - port@2:
> - $ref: /schemas/graph.yaml#/properties/port
> - description: GMSL Input 2
> -
> - port@3:
> - $ref: /schemas/graph.yaml#/properties/port
> - description: GMSL Input 3
> -
> - port@4:
> + '^port@[4-7]$':
> $ref: /schemas/graph.yaml#/$defs/port-base
> unevaluatedProperties: false
> - description: CSI-2 Output
> + description: CSI-2 Output port

The input port numbers are 1:1 with Input numbering. I imagine that's
not the case here, so the relationship of port #s to outputs needs to be
documented.

>
> properties:
> endpoint:
> @@ -78,8 +66,11 @@ properties:
> - data-lanes
> - bus-type
>
> - required:
> - - port@4
> + anyOf:
> + - required: [port@4]
> + - required: [port@5]
> + - required: [port@6]
> + - required: [port@7]
>
> required:
> - compatible
> --
> 2.48.1
>