Hi Rob,
On 3/11/25 17:23, Rob Herring wrote:
On Tue, Mar 11, 2025 at 03:13:47PM -0300, Maíra Canal wrote:
V3D 7.1 exposes a new register block, called V3D_SMS. As BCM2712 has a
V3D 7.1 core, add a new register item to its compatible. Similar to the
GCA, which is specific for V3D 3.3, SMS is optional and should only be
added for V3D 7.1 variants (such as brcm,2712-v3d).
Based on the schema, that is not what optional means for bindings.
Optional is within a specific compatible, not present for one compatible
and not present for another compatible.
Sorry for the poor writing! I'll improve it in the next version.
Signed-off-by: Maíra Canal <mcanal@xxxxxxxxxx>
---
.../devicetree/bindings/gpu/brcm,bcm-v3d.yaml | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
index 141f2ed540bb4ddb85a933d7d44a4078c386ba39..7349347da1c0034a8849deaa6d64dde6d9d5a81a 100644
--- a/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
+++ b/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
@@ -57,7 +57,6 @@ allOf:
contains:
enum:
- brcm,2711-v3d
- - brcm,2712-v3d
- brcm,7278-v3d
then:
properties:
@@ -71,6 +70,27 @@ allOf:
- const: hub
- const: core0
- const: bridge
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: brcm,2712-v3d
+ then:
+ properties:
+ reg:
+ items:
+ - description: hub register (required)
+ - description: core0 register (required)
+ - description: SMS register (required)
minItems tells us these are all 'required'.
+ - description: bridge register (if no external reset controller)
+ minItems: 3
+ reg-names:
+ items:
+ - const: hub
+ - const: core0
+ - const: sms
+ - const: bridge
This is an ABI change because previously the 3rd entry was bridge and
you moved it. Put new entries on the end to keep compatibility. If
there's no users yet, then that's fine, but the commit message needs to
say that.
Again, I'm sorry about the naive question, but "bridge" is an optional
register. AFAIU if I add "sms" in the end, I won't be able to make
"bridge" optional. Am I missing something?
Initially, I thought about using "enum: [ bridge, sms ]", but from
Krzysztof’s feedback on v2, I'm not sure if it is the correct approach.
Thanks for your review!
Best Regards,
- Maíra
+ minItems: 3
- if:
properties:
compatible:
--
Git-154)