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
