On Sat, Mar 08, 2025 at 11:33:43AM -0300, Maíra Canal wrote:
> V3D 7.1 exposes a new register block, called V3D_SMS. As BCM2712 has a

Where is the comaptible for this new block? Or was it already documented
but with missing register?

> V3D 7.1 core, add a new register item to the list. Similar to the GCA
> and bridge register, SMS is optional and should only be added for V3D
> 7.1 variants.
> 
> In order to enforce per-SoC register rules, add per-compatible
> restrictions. The restrictions will assure that GCA will only be added
> in BCM7268 (V3D 3.3) and SMS will only be added in BCM2712 (V3D 7.1).
> 
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Conor Dooley <[email protected]>
> Cc: Nicolas Saenz Julienne <[email protected]>
> Cc: [email protected]

Please drop the autogenerated scripts/get_maintainer.pl CC-entries from
commit msg. There is no single need to store automated output of
get_maintainers.pl in the git log. It can be easily re-created at any
given time, thus its presence in the git history is redundant and
obfuscates the log.

If you need it for your own patch management purposes, keep it under the
--- separator.

> Signed-off-by: Maíra Canal <[email protected]>
> ---
>  .../devicetree/bindings/gpu/brcm,bcm-v3d.yaml      | 60 
> ++++++++++++++++++++--
>  1 file changed, 55 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml 
> b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
> index 
> dc078ceeca9ac3447ba54a7c8830821f0b2a7f9f..c0caee055e8c18dbcac0e51aa192951996545695
>  100644
> --- a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
> +++ b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
> @@ -27,15 +27,12 @@ properties:
>        - description: core0 register (required)
>        - description: GCA cache controller register (if GCA controller 
> present)
>        - description: bridge register (if no external reset controller)
> +      - description: SMS register (if SMS controller present)

This lists five items, but you say you have max 4?

>      minItems: 2
>  
>    reg-names:
> -    items:
> -      - const: hub
> -      - const: core0
> -      - enum: [ bridge, gca ]
> -      - enum: [ bridge, gca ]
>      minItems: 2
> +    maxItems: 4

So here 4, but earlier 5? These must come in sync.

>  
>    interrupts:
>      items:
> @@ -60,6 +57,59 @@ required:
>  
>  additionalProperties: false
>  
> +allOf:

This goes above additionalProperties.

> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - brcm,2711-v3d
> +              - brcm,7278-v3d
> +    then:
> +      properties:
> +        reg:
> +          minItems: 2
> +          maxItems: 3
> +        reg-names:
> +          items:
> +            - const: hub
> +            - const: core0
> +            - const: bridge

Again un-synced lists.

> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: brcm,2712-v3d
> +    then:
> +      properties:
> +        reg:
> +          minItems: 3
> +          maxItems: 4
> +        reg-names:
> +          items:
> +            - const: hub
> +            - const: core0
> +            - enum: [ bridge, sms ]
> +            - enum: [ bridge, sms ]
> +          minItems: 3

Why is this flexible?

Best regards,
Krzysztof

Reply via email to