[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260108-sifive-pd-drivers-v4-0-2a523d7d51a0@sifive.com>
Date: Thu, 08 Jan 2026 00:58:23 -0800
From: Nick Hu <nick.hu@...ive.com>
To: "Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>, Paul Walmsley <pjw@...nel.org>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>, Anup Patel <anup@...infault.org>,
Samuel Holland <samuel.holland@...ive.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Cyan Yang <cyan.yang@...ive.com>,
Nick Hu <nick.hu@...ive.com>
Cc: linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
linux-riscv@...ts.infradead.org, devicetree@...r.kernel.org
Subject: [PATCH v4 0/3] Add SiFive power provider driver
This patchset introduces the SiFive power provider driver, which sets up a
generic power domain (genpd) provider to coordinate with the RISC-V SBI
CPU idle driver.
To enable this coordination, split the power domain initialization out
of the RISC-V SBI CPU idle driver. This allows coordination between
power domain management and CPU idle states on SiFive platforms.
Changes in v4:
- Split the power domain initialization out of the RISC-V SBI CPU idle
driver in PATCH 1
- Refine the commit messages of PATCH 1 and PATCH 3
- Rename cpuidle-sifive-dmc-pd.c to cpuidle-sifive-dmc-domain.c
- Rename SIFIVE_DMC_PD_CPUIDLE to CONFIG_SIFIVE_DMC_CPUIDLE_DOMAIN
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
_______________________________________________
linux-riscv mailing list
linux-riscv@...ts.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
---
Nick Hu (3):
cpuidle: riscv-sbi: Split PM domain init out of the cpuidle driver
dt-bindings: power: Add SiFive Domain Management controllers
cpuidle: Add SiFive power provider driver
.../devicetree/bindings/power/sifive,tmc.yaml | 58 +++++++
MAINTAINERS | 2 +
drivers/cpuidle/Kconfig.riscv | 25 ++-
drivers/cpuidle/Makefile | 2 +
drivers/cpuidle/cpuidle-riscv-sbi-domain.c | 176 ++++++++++++++++++++
drivers/cpuidle/cpuidle-riscv-sbi.c | 178 ++-------------------
drivers/cpuidle/cpuidle-riscv-sbi.h | 29 ++++
drivers/cpuidle/cpuidle-sifive-dmc-domain.c | 124 ++++++++++++++
8 files changed, 423 insertions(+), 171 deletions(-)
---
base-commit: f0b9d8eb98dfee8d00419aa07543bdc2c1a44fb1
change-id: 20251207-sifive-pd-drivers-66de65108b1c
Best regards,
--
Nick Hu <nick.hu@...ive.com>
Powered by blists - more mailing lists