On 15/10/2025 16:38, Marek Vasut wrote:
> Document Imagination Technologies PowerVR Rogue GX6250 BNVC 4.45.2.58
> present in Renesas R-Car R8A77960 M3-W and R8A77961 M3-W+ SoC.
> 
> Acked-by: Conor Dooley <[email protected]>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Adam Ford <[email protected]>
> Cc: Conor Dooley <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Frank Binns <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Kuninori Morimoto <[email protected]>
> Cc: Maarten Lankhorst <[email protected]>
> Cc: Magnus Damm <[email protected]>
> Cc: Matt Coster <[email protected]>
> Cc: Maxime Ripard <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Simona Vetter <[email protected]>
> Cc: Thomas Zimmermann <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> See https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/13
> for related userspace bits.
> ---
> V2: - Add RB from Conor
>     - Fill in allOf section for Renesas GPU, set fixed clock/clock-names
>       maxItems count to 3 and power-domains/power-domain-names count to 2.
>     - Use renesas,r8a7796-gpu for R8A77960 compatible string
> ---
>  .../bindings/gpu/img,powervr-rogue.yaml       | 29 +++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml 
> b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> index c87d7bece0ecd..05fe9498dfa09 100644
> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
> @@ -13,6 +13,12 @@ maintainers:
>  properties:
>    compatible:
>      oneOf:
> +      - items:
> +          - enum:
> +              - renesas,r8a7796-gpu
> +              - renesas,r8a77961-gpu
> +          - const: img,img-gx6250
> +          - const: img,img-rogue
>        - items:
>            - enum:
>                - ti,am62-gpu
> @@ -146,6 +152,29 @@ allOf:
>          clocks:
>            maxItems: 1
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - renesas,r8a7796-gpu
> +              - renesas,r8a77961-gpu
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 3
> +        clock-names:
> +          minItems: 3
> +        power-domains:
> +          items:
> +            - description: Power domain A
> +            - description: Power domain B
> +        power-domain-names:
> +          minItems: 2
> +      required:
> +        - power-domains
> +        - power-domain-names
> +

Hi Marek,

Thanks for the updated patches!

Would you mind splitting this conditional block up? We already have a
constraint for 2 power-domains (see img,img-bxs-4-64), which should be
applied to the entire img,img-gx6250 compatible.

As for the clocks, for the currently supported GPUs, we have "mem" and
"sys" clocks that are optional at integration time, so those
conditionals are based on the vendor compatible strings (ti,... etc).
However, these older GPUs always require all three clocks, so it
probably makes sense to create the properties:clock{,-name}s:minItems:3
constraint on the img,img-gx6250 compatible as well, rather than the
renesas,r8... ones.

You shouldn't need to explicit list the power-domain descriptions at the
constraint level at all; if there's a build warning that they're missing
I guess the correct place to add them would be on the top-level
power-domains entry, but I don't really think they contribute anything
meaningful.

Cheers,
Matt

>  examples:
>    - |
>      #include <dt-bindings/interrupt-controller/irq.h>

-- 
Matt Coster
E: [email protected]

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to