]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
dt-bindings: riscv: Add B ISA extension description
authorGuodong Xu <guodong@riscstar.com>
Sat, 10 Jan 2026 05:18:18 +0000 (13:18 +0800)
committerConor Dooley <conor.dooley@microchip.com>
Tue, 13 Jan 2026 22:22:56 +0000 (22:22 +0000)
commit0cdb7fc1879b1b858463125630f4dd5af6b111ad
treed51493eed4cd7188e4b23897aa05ee145e2aa5f9
parentfff010c776f715904ba0823bb347eac00dccffa2
dt-bindings: riscv: Add B ISA extension description

Add description of the single-letter B extension for Bit Manipulation.
B is mandatory for RVA23U64.

The B extension is ratified in the 20240411 version of the unprivileged
ISA specification. According to the ratified spec, the B standard
extension comprises instructions provided by the Zba, Zbb, and Zbs
extensions.

Add two-way dependency check to enforce that B implies Zba/Zbb/Zbs; and
when Zba/Zbb/Zbs (all of them) are specified, then B must be added too.

The reason why B/Zba/Zbb/Zbs must coexist at the same time is that
unlike other single-letter extensions, B was ratified (Apr/2024) much
later than its component extensions Zba/Zbb/Zbs (Jun/2021).

When "b" is specified, zba/zbb/zbs must be present to ensure
backward compatibility with existing software and kernels that only
look for the explicit component strings.

When all three components zba/zbb/zbs are specified, "b" should also be
present. Making "b" mandatory when all three components are present.

Existing devicetrees with zba/zbb/zbs but without "b" will generate
warnings that can be fixed in follow-up patches.

Signed-off-by: Guodong Xu <guodong@riscstar.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Documentation/devicetree/bindings/riscv/extensions.yaml