Skip to content

Conversation

maass-hamburg
Copy link
Member

@maass-hamburg maass-hamburg commented Oct 14, 2025

implement and use riscv,isa-extensions
dt prop, like in linux
https://www.kernel.org/doc/Documentation/devicetree/bindings/riscv/extensions.yaml
to set the riscv extensions.

Usefull for softcores like vexriscv or vexiiriscv, that can be easily configured to add these extentions and we don't want to create a separate soc for every possible combination.

For now just just applying it to the litex_vexriscv soc, applying it for the whole tree will be part of a separate PR.

add dt_node_array_prop_has_val function and
extend dt_nodelabel_array_prop_has_val to be
used with string-arrays.

Signed-off-by: Fin Maaß <[email protected]>
implement and use riscv,isa-extensions
dt prop, like in linux
https://www.kernel.org/doc/Documentation/devicetree/bindings/riscv/extensions.yaml
to set the riscv extentions.

Signed-off-by: Fin Maaß <[email protected]>
make riscv,isa dt prop no longer required,
as it is is not really used by anyrhing in zephyr
and we now have a alternative (riscv,isa-base
and riscv,isa-extensions).

Signed-off-by: Fin Maaß <[email protected]>
use riscv,isa-extensions dt prop for
litex vexriscv soc.

Signed-off-by: Fin Maaß <[email protected]>
@sonarqubecloud
Copy link

Copy link
Member

@fkokosinski fkokosinski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good stuff, but I'd love to see this applied to the rest of RISC-V SoCs in Zephyr.

- riscv,sv48
- riscv,none

riscv,isa:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove the riscv,isa property then? Since it's made redundant with riscv,isa-base and riscv,isa-extensions?

required: true
type: string

riscv,isa-base:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both riscv,isa-base and riscv-isa-extensions should probably be marked as required IMO

@maass-hamburg
Copy link
Member Author

This is good stuff, but I'd love to see this applied to the rest of RISC-V SoCs in Zephyr.

@fkokosinski
Do we want to apply it now in this PR and probably risk this not being merged before the feature freeze this Friday,
or have this in version 4.3 and migrate the whole tree, as same as making this mandatory, for 4.4?

@maass-hamburg
Copy link
Member Author

some soc like SOC_IT8XXX2 currently have different values in the dts and the Kconfig, therefore I would like to migrate such socs in it's own PR.

@fkokosinski
Copy link
Member

Not sure - right now we're leaving the riscv,isa property which can cause some confusion, and understandably so. I'd rather this switch occurs atomically within one PR, and we provide a migration guide for it so that OOT SoCs are provided some guideance as well.

@VynDragon
Copy link
Contributor

I would assume if any switching is to be done, making it required avoids missing some socs, so probably for the next cycle

@maass-hamburg
Copy link
Member Author

okay, then next cycle.

For this to work for f and d extension, #97981 should be merged before, maybe we could get that in this cycle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants