Hi Conor, On 2/20/24 19:58, Conor Dooley wrote: > 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. Just to make sure I got it right: clocks: minItems: 3 maxItems: 4 items: - const: aclk - const: hclk ... allOf: ... - if: properties: compatible: contains: const: rockchip,rk3568-vicap then: properties: clocks: - const: aclk - const: hclk - const: dclk - const: iclk Is this the desired way? > That said, this patch should be squashed with the patch that actually > adds the other device to the binding. That can be arranged. Best regards, Michael > > 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 >>