Re: [PATCH 02/21] dt-bindings: gpu: img: Further constrain clocks

Conor Dooley
2024-11-05T18:29:22Z

[-- Attachment #1: Type: text/plain, Size: 2448 bytes --]

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@imgtec.com>
> ---
> .../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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]