Skip to content

Commit b321256

Browse files
docularxuConchuOD
authored andcommitted
dt-bindings: riscv: Add descriptions for Za64rs, Ziccamoa, Ziccif, and Zicclsm
Add descriptions for four extensions: Za64rs, Ziccamoa, Ziccif, and Zicclsm. These extensions are ratified in RISC-V Profiles Version 1.0 (commit b1d806605f87 "Updated to ratified state."). They are introduced as new extension names for existing features and regulate implementation details for RISC-V Profile compliance. According to RISC-V Profiles Version 1.0 and RVA23 Profiles Version 1.0, they are mandatory for the following profiles: - za64rs: Mandatory in RVA22U64, RVA23U64 - ziccamoa: Mandatory in RVA20U64, RVA22U64, RVA23U64 - ziccif: Mandatory in RVA20U64, RVA22U64, RVA23U64 - zicclsm: Mandatory in RVA20U64, RVA22U64, RVA23U64 Ziccrse specifies the main memory must support "RsrvEventual", which is one (totally there are four) of the support level for Load-Reserved/ Store-Conditional (LR/SC) atomic instructions. Thus it depends on Zalrsc. Ziccamoa specifies the main memory must support AMOArithmetic, among the four levels of PMA support defined for AMOs in the A extension. Thus it depends on Zaamo. Za64rs defines reservation sets are contiguous, naturally aligned, and a maximum of 64 bytes. Za64rs is consumed by two extensions: Zalrsc and Zawrs. Zawrs itself depends on Zalrsc too. Based on the relationship that "A" = Zaamo + Zalrsc, add the following dependencies checks: Za64rs -> Zalrsc or A Ziccrse -> Zalrsc or A Ziccamoa -> Zaamo or A Signed-off-by: Guodong Xu <guodong@riscstar.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
1 parent 0cdb7fc commit b321256

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

Documentation/devicetree/bindings/riscv/extensions.yaml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,12 @@ properties:
240240
as ratified at commit 4a69197e5617 ("Update to ratified state") of
241241
riscv-svvptc.
242242

243+
- const: za64rs
244+
description:
245+
The standard Za64rs extension for reservation set size of at most
246+
64 bytes, as ratified in RISC-V Profiles Version 1.0, with commit
247+
b1d806605f87 ("Updated to ratified state.")
248+
243249
- const: zaamo
244250
description: |
245251
The standard Zaamo extension for atomic memory operations as
@@ -381,6 +387,27 @@ properties:
381387
in commit 64074bc ("Update version numbers for Zfh/Zfinx") of
382388
riscv-isa-manual.
383389

390+
- const: ziccamoa
391+
description:
392+
The standard Ziccamoa extension for main memory (cacheability and
393+
coherence) must support all atomics in A, as ratified in RISC-V
394+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
395+
ratified state.")
396+
397+
- const: ziccif
398+
description:
399+
The standard Ziccif extension for main memory (cacheability and
400+
coherence) instruction fetch atomicity, as ratified in RISC-V
401+
Profiles Version 1.0, with commit b1d806605f87 ("Updated to
402+
ratified state.")
403+
404+
- const: zicclsm
405+
description:
406+
The standard Zicclsm extension for main memory (cacheability and
407+
coherence) must support misaligned loads and stores, as ratified
408+
in RISC-V Profiles Version 1.0, with commit b1d806605f87 ("Updated
409+
to ratified state.")
410+
384411
- const: ziccrse
385412
description:
386413
The standard Ziccrse extension which provides forward progress
@@ -769,6 +796,18 @@ properties:
769796
then:
770797
contains:
771798
const: b
799+
# Za64rs and Ziccrse depend on Zalrsc or A
800+
- if:
801+
contains:
802+
anyOf:
803+
- const: za64rs
804+
- const: ziccrse
805+
then:
806+
oneOf:
807+
- contains:
808+
const: zalrsc
809+
- contains:
810+
const: a
772811
# Zcb depends on Zca
773812
- if:
774813
contains:
@@ -810,6 +849,16 @@ properties:
810849
then:
811850
contains:
812851
const: f
852+
# Ziccamoa depends on Zaamo or A
853+
- if:
854+
contains:
855+
const: ziccamoa
856+
then:
857+
oneOf:
858+
- contains:
859+
const: zaamo
860+
- contains:
861+
const: a
813862
# Zvfbfmin depends on V or Zve32f
814863
- if:
815864
contains:

0 commit comments

Comments
 (0)