From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> Section 35.2. Extensions Overview of [1] says: | The Zvknhb and Zvbc Vector Crypto Extensions --and accordingly the composite extensions Zvkn and | Zvks-- (sic) require a Zve64x base, or application ("V") base Vector Extension. | All of the other Vector Crypto Extensions can be built on any embedded (Zve*) or application ("V") base | Vector Extension Apply these rules in the binding, so that invalid combinations can be avoided. Link: https://github.com/riscv/riscv-isa-manual/releases/tag/riscv-isa-release-698e64a-2024-09-09 [1] Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> --- .../devicetree/bindings/riscv/extensions.yaml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml index abf2579171c5b..02b822bbf341d 100644 --- a/Documentation/devicetree/bindings/riscv/extensions.yaml +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml @@ -651,6 +651,38 @@ properties: - contains: const: zve64f + - if: + contains: + anyOf: + - const: zvbc + - const: zvkn + - const: zvknhb + - const: zvks + then: + contains: + anyOf: + - const: v + - const: zve64x + + - if: + contains: + anyOf: + - const: zvbb + - const: zvkb + - const: zvkg + - const: zvkned + - const: zvknha + - const: zvksed + - const: zvksh + - const: zvknc + - const: zvkng + - const: zvkt + then: + contains: + anyOf: + - const: v + - const: zve32x + allOf: # Zcf extension does not exist on rv64 - if: -- 2.45.2