On Tue, Nov 05, 2024 at 03:58:08PM +0000, Matt Coster wrote: > All Imagination GPUs use three clocks: core, mem and sys. All reasonably > modern Imagination GPUs also support a single-clock mode where the SoC > only hooks up core and the other two are derived internally. On GPUs which > support this mode, it is the default and most commonly used integration. > > Codify this "1 or 3" constraint in our bindings and hang the specifics off > the vendor compatible string to mirror the integration-time choice. > > Signed-off-by: Matt Coster <matt.coster@xxxxxxxxxx> > --- > .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 27 +++++++++++++++------- > 1 file changed, 19 insertions(+), 8 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > index ef7070daf213277d0190fe319e202fdc597337d4..6924831d3e9dd9b2b052ca8f9d7228ff25526532 100644 > --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml > @@ -30,15 +30,20 @@ properties: > maxItems: 1 > > clocks: > - minItems: 1 > - maxItems: 3 > + oneOf: > + - minItems: 1 > + maxItems: 1 > + - minItems: 3 > + maxItems: 3 Just put the outer constraints here and... > clock-names: > - items: > - - const: core > - - const: mem > - - const: sys > - minItems: 1 > + oneOf: > + - items: > + - const: core > + - items: > + - const: core > + - const: mem > + - const: sys > > interrupts: > maxItems: 1 > @@ -56,15 +61,21 @@ required: > additionalProperties: false > > allOf: > + # Vendor integrations using a single clock domain > - if: > properties: > compatible: > contains: > - const: ti,am62-gpu > + anyOf: > + - const: ti,am62-gpu > then: > properties: > clocks: > + minItems: 1 > maxItems: 1 ...adjust the constraints in conditional bits. Setting minItems to 1 should be a nop too. Pretty sure what you already had here was actually already sufficient. Cheers, Conor. > + clock-names: > + items: > + - const: core > > examples: > - | > > -- > 2.47.0 >
Attachment:
signature.asc
Description: PGP signature