[PW_SID:978120] Add SiFive power provider driver#596
Conversation
SiFive Domain Management controller includes the following components
- SiFive Tile Management Controller
- SiFive Cluster Management Controller
- SiFive Core Complex Management Controller
These controllers control the clock and power domain of the
corresponding domain.
Add `- {}` for the first entry [1][2]. Once the SoCs are ready, we will
add the SoC compatible string at that time.
Links:
- [1] https://lore.kernel.org/lkml/20250311195953.GA14239-robh@kernel.org/
- [2] https://lore.kernel.org/lkml/CAKddAkAzDGL-7MbroRqQnZzPXOquUMKNuGGppqB-d_XZXbcvBA@mail.gmail.com/T/#t
Signed-off-by: Nick Hu <nick.hu@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
To work with the external pmdomain driver, exposing the `sbi_cpuidle_pd_power_off` and `sbi_dt_parse_state_node` so the external pmdomain driver can parse the riscv idle state data and set the domain idle state where powering off. In addition, separate the genpd init and the idle driver init. The genpd remains functional even when the idle state is absent. Co-developed-by: Samuel Holland <samuel.holland@sifive.com> Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Signed-off-by: Nick Hu <nick.hu@sifive.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The SiFive DMC is the power provider of the devices that inside the SiFive CPU power domains, which include Tile, Cluster and Core Complex power domains. Before the cpu entering the firmware-based idle state, each devices that inside the corresponding domain should be suspended properly. So this driver will create the power provider and set the correct idle state. Signed-off-by: Nick Hu <nick.hu@sifive.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v3,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v3,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v3,3/3] cpuidle: Add SiFive power provider" |
a7cb30d to
d776861
Compare
PR for series 978120 applied to workflow__riscv__fixes
Name: Add SiFive power provider driver
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=978120
Version: 3