[PATCH 0/5] RISC-V: RPMI performance service bindings and cpufreq support
Joshua Yeong
joshua.yeong at starfivetech.com
Tue Jan 6 01:21:11 PST 2026
This patch series introduces support for the RISC-V RPMI (RISC-V Platform
Management Interface) performance service, covering both Device Tree bindings
and a corresponding cpufreq driver.
The first part of the series adds YAML bindings to describe the RPMI performance
service as provided by platform firmware, as well as the supervisor-level
controller interface exposed to the operating system. The bindings also document
how CPU nodes reference performance domains managed by RPMI.
The final patch builds on these definitions by introducing a cpufreq driver that
leverages the RPMI performance service to manage CPU frequency scaling on RISC-V
systems. The driver supports RPMI access through SBI-based transport mechanisms
as well as dedicated supervisor-mode transports.
RPMI specification reference [1] and [2]
Test Environment is as follows:
https://github.com/yeongjoshua/linux/tree/v6.19-rc4/rpmi-performance
https://github.com/riscv-software-src/opensbi
https://github.com/yeongjoshua/qemu/tree/rpmi-dev-upstream
Use '-M virt -M rpmi=true' when running qemu
[1] https://github.com/riscv-non-isa/riscv-sbi-doc/releases
[2] https://github.com/riscv-non-isa/riscv-rpmi/releases
Joshua Yeong (5):
dt-bindings: firmware: Add RPMI performance service message proxy
bindings
dt-bindings: firmware: Add RPMI performance service bindings
dt-bindings: riscv: cpus: document performance-domains property
cpufreq: Add cpufreq driver for the RISC-V RPMI performance service
group
MAINTAINERS: Add RISC-V RPMI performance service group
.../firmware/riscv,rpmi-mpxy-performance.yaml | 65 ++
.../firmware/riscv,rpmi-performance.yaml | 62 ++
.../devicetree/bindings/riscv/cpus.yaml | 7 +
MAINTAINERS | 4 +
drivers/cpufreq/Kconfig | 26 +-
drivers/cpufreq/Makefile | 6 +-
drivers/cpufreq/riscv-rpmi-cpufreq.c | 976 ++++++++++++++++++
include/linux/mailbox/riscv-rpmi-message.h | 16 +
8 files changed, 1155 insertions(+), 7 deletions(-)
create mode 100644 Documentation/devicetree/bindings/firmware/riscv,rpmi-mpxy-performance.yaml
create mode 100644 Documentation/devicetree/bindings/firmware/riscv,rpmi-performance.yaml
create mode 100644 drivers/cpufreq/riscv-rpmi-cpufreq.c
--
2.43.0
More information about the linux-riscv
mailing list