[PW_SID:970632] Add SiFive power provider driver#505
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.
However, Since we don't have a SoC specific compatible string yet, so
add '- {}' for the first entry [1][2].
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, defer the driver without error message when the parent domain is not ready. 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: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 1: "[v2,1/3] dt-bindings: power: Add SiFive Domain Management controllers" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 2: "[v2,2/3] cpuidle: riscv-sbi: Work with the external pmdomain driver" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
|
Patch 3: "[v2,3/3] cpuidle: Add SiFive power provider" |
PR for series 970632 applied to workflow__riscv__fixes
Name: Add SiFive power provider driver
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=970632
Version: 2