[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260106092117.3727152-1-joshua.yeong@starfivetech.com>
Date: Tue, 6 Jan 2026 17:21:11 +0800
From: Joshua Yeong <joshua.yeong@...rfivetech.com>
To: rahul@...mations.net,
anup@...infault.org,
joshua.yeong@...rfivetech.com,
leyfoon.tan@...rfivetech.com,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
pjw@...nel.org,
palmer@...belt.com,
aou@...s.berkeley.edu,
alex@...ti.fr,
rafael@...nel.org,
viresh.kumar@...aro.org,
sboyd@...nel.org,
jms@....tenstorrent.com,
darshan.prajapati@...fochips.com,
charlie@...osinc.com,
dfustini@....tenstorrent.com,
michal.simek@....com,
cyy@...self.name,
jassisinghbrar@...il.com,
andriy.shevchenko@...ux.intel.com
Cc: linux-riscv@...ts.infradead.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: [PATCH 0/5] RISC-V: RPMI performance service bindings and cpufreq support
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
Powered by blists - more mailing lists