[PATCH v3 0/3] Add SiFive power provider driver
Nick Hu
nick.hu at sifive.com
Wed Jul 2 02:12:33 PDT 2025
This patch introduces the SiFive power provider driver, which sets up a
generic power domain (genpd) provider to coordinate with the RISC-V SBI
cpuidle driver.
To enable this coordination, several functions from the cpuidle-riscv-sbi
driver are exposed for use by the external power provider. This allows
coordination between power domain management and CPU idle states on
SiFive platforms.
Changes in v3:
- Update the explanation for the absence of the SoC-specific compatible
string.
- Drop the smc3/tmc3/cmc3 bindings.
- Separate the genpd init and the idle driver init. The genpd remains
functional even when the idle state is absent.
- Address the warning from the kernel test robot
Changes in v2:
- Add the driver for SiFive TMC, CMC and SMC
- Drop the `sifive,feature-level` property
Nick Hu (3):
dt-bindings: power: Add SiFive Domain Management controllers
cpuidle: riscv-sbi: Work with the external pmdomain driver
cpuidle: Add SiFive power provider
.../devicetree/bindings/power/sifive,tmc.yaml | 58 ++++++++++
drivers/cpuidle/Kconfig.riscv | 11 ++
drivers/cpuidle/Makefile | 1 +
drivers/cpuidle/cpuidle-riscv-sbi.c | 46 ++++----
drivers/cpuidle/cpuidle-riscv-sbi.h | 20 ++++
drivers/cpuidle/cpuidle-sifive-dmc-pd.c | 102 ++++++++++++++++++
6 files changed, 220 insertions(+), 18 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/sifive,tmc.yaml
create mode 100644 drivers/cpuidle/cpuidle-riscv-sbi.h
create mode 100644 drivers/cpuidle/cpuidle-sifive-dmc-pd.c
--
2.17.1
More information about the linux-riscv
mailing list