Re: [PATCH 04/14] media: dt-bindings: media: rockchip,px30-vip: allow for different variants

From: Conor Dooley
Date: Tue Feb 20 2024 - 13:58:37 EST


Hey,

On Tue, Feb 20, 2024 at 10:39:14AM +0100, Michael Riesch wrote:
> Move the documentation of clocks and resets to a allOf: structure in order
> to allow for different variants of the IP block.
>
> Signed-off-by: Michael Riesch <michael.riesch@xxxxxxxxxxxxxx>
> ---
> .../bindings/media/rockchip,px30-vip.yaml | 58 ++++++++++++++--------
> 1 file changed, 37 insertions(+), 21 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/rockchip,px30-vip.yaml b/Documentation/devicetree/bindings/media/rockchip,px30-vip.yaml
> index 675a1ea47210..7168f166798c 100644
> --- a/Documentation/devicetree/bindings/media/rockchip,px30-vip.yaml
> +++ b/Documentation/devicetree/bindings/media/rockchip,px30-vip.yaml
> @@ -24,32 +24,16 @@ properties:
> interrupts:
> maxItems: 1
>
> - clocks:
> - items:
> - - description: ACLK
> - - description: HCLK
> - - description: PCLK
> -
> - clock-names:
> - items:
> - - const: aclk
> - - const: hclk
> - - const: pclk
> + clocks: true
> +
> + clock-names: true

This is, unfortunately, not how we like multiple soc support to be
handled. Instead, the widest constraints are added at the top level
and constrained by the allOf. If none of the names etc are shared, at
least the widest constraints for minItems and maxItems should be able to
be here.

That said, this patch should be squashed with the patch that actually
adds the other device to the binding.

Cheers,
Conor.

>
> iommus:
> maxItems: 1
>
> - resets:
> - items:
> - - description: AXI
> - - description: AHB
> - - description: PCLK IN
> + resets: true
>
> - reset-names:
> - items:
> - - const: axi
> - - const: ahb
> - - const: pclkin
> + reset-names: true
>
> power-domains:
> maxItems: 1
> @@ -85,6 +69,38 @@ required:
> - clocks
> - ports
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,px30-vip
> + then:
> + properties:
> + clocks:
> + items:
> + - description: ACLK
> + - description: HCLK
> + - description: PCLK
> +
> + clock-names:
> + items:
> + - const: aclk
> + - const: hclk
> + - const: pclk
> +
> + resets:
> + items:
> + - description: AXI
> + - description: AHB
> + - description: PCLK IN
> +
> + reset-names:
> + items:
> + - const: axi
> + - const: ahb
> + - const: pclkin
> +
> additionalProperties: false
>
> examples:
>
> --
> 2.30.2
>

Attachment: signature.asc
Description: PGP signature