[PATCH v5 00/42] clk: qcom: Tie CX power domains to GCCs

Abel Vesa posted 42 patches an hour ago
Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml  | 6 +++++-
Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,qcs615-gcc.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,qcs8300-gcc.yaml | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml   | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml  | 7 +++++++
Documentation/devicetree/bindings/clock/qcom,sm8750-gcc.yaml  | 7 +++++++
arch/arm64/boot/dts/qcom/kaanapali.dtsi                       | 2 ++
arch/arm64/boot/dts/qcom/monaco.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sar2130p.dtsi                        | 1 +
arch/arm64/boot/dts/qcom/sdm670.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sdx75.dtsi                           | 1 +
arch/arm64/boot/dts/qcom/sm4450.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm6350.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm8150.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm8250.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm8350.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm8450.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm8550.dtsi                          | 1 +
arch/arm64/boot/dts/qcom/sm8650.dtsi                          | 2 ++
arch/arm64/boot/dts/qcom/sm8750.dtsi                          | 2 ++
arch/arm64/boot/dts/qcom/talos.dtsi                           | 2 ++
drivers/clk/qcom/gcc-eliza.c                                  | 1 +
drivers/clk/qcom/gcc-kaanapali.c                              | 1 +
drivers/clk/qcom/gcc-qcs8300.c                                | 1 +
drivers/clk/qcom/gcc-sa8775p.c                                | 1 +
drivers/clk/qcom/gcc-sar2130p.c                               | 1 +
drivers/clk/qcom/gcc-sc7280.c                                 | 1 +
drivers/clk/qcom/gcc-sdx75.c                                  | 1 +
drivers/clk/qcom/gcc-sm4450.c                                 | 1 +
drivers/clk/qcom/gcc-sm8350.c                                 | 1 +
drivers/clk/qcom/gcc-sm8450.c                                 | 1 +
drivers/clk/qcom/gcc-sm8550.c                                 | 1 +
drivers/clk/qcom/gcc-sm8650.c                                 | 1 +
drivers/clk/qcom/gcc-sm8750.c                                 | 1 +
drivers/clk/qcom/gcc-x1e80100.c                               | 1 +
42 files changed, 122 insertions(+), 1 deletion(-)
[PATCH v5 00/42] clk: qcom: Tie CX power domains to GCCs
Posted by Abel Vesa an hour ago
Tie the CX power domain to GCC clock controllers for SDM670,
SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SM8750, SM6350,
SM4450, QCS8300, SDX75, SAR2130P, SC7180, SC7280, SA8775P,
X1E80100, Eliza, Kaanapali, and QCS615.

Enable runtime PM for GCC providers without critical clocks, allowing CX to
power down when their consumers release clocks and GDSCs.

On SDM845, the DT already describes the CX as power domain for GCC,
only the driver needs runtime PM enabling.

Update the GCC bindings to document and require the CX power-domain
dependency for the affected compatibles.

Only Kaanapali and Eliza require Fixes tags, as runtime PM support was not
available when the other platforms were upstreamed.

---
Changes in v5:
- Rebased on next-20260922.
- Drop QDU1000: its CX rail is always at NOMINAL and does not follow
  the regular PMIC control.
- Require the CX power domain at the binding top level for SDM670 and
  SDM845.
- Pick up Krzysztof's R-b tags for the DT bindings and Taniya's R-b
  tag for SC7280 GCC.
- Drop runtime PM enablement for providers with critical clocks, which keep
  the controller active.
- Link to v4: https://patch.msgid.link/20260914-qcom-tie-cx-to-gcc-v4-0-9d5a606ada33@oss.qualcomm.com

Changes in v4:
- Rebased on next-20260911.
- Add missing CX power-domain bindings for QCS8300, QDU1000, SDX75, SM4450, and SM6350.
- Address Krzysztof's binding review by documenting the CX power-domain item.
- Explain why the new required property is needed to prevent CX undervolting.
- Include the direct RPMh power-domain header in binding examples.
- Link to v3: https://patch.msgid.link/20260824-qcom-tie-cx-to-gcc-v3-0-f1205a92682b@oss.qualcomm.com

Changes in v2:
- Clarify the runtime PM rationale in the GCC driver commit messages.
- Picked up Konrad's R-b tag for the dts patches.
- Link to v1: https://patch.msgid.link/20260819-qcom-tie-cx-to-gcc-v1-0-840034124e73@oss.qualcomm.com

To: Bjorn Andersson <andersson@kernel.org>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney+clk@redhat.com>
To: Jerome Brunet <jbrunet+clk@baylibre.com>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Taniya Das <taniya.das@oss.qualcomm.com>
To: Vinod Koul <vkoul@kernel.org>
To: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To: Abel Vesa <abel.vesa@oss.qualcomm.com>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Tengfei Fan <tengfei.fan@oss.qualcomm.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Krzysztof Kozlowski <krzk@kernel.org>

---
Abel Vesa (42):
      dt-bindings: clock: qcom: gcc-sdm845: Require CX power domain
      dt-bindings: clock: qcom: gcc-sm8150: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm8250: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm8350: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm8450: Add CX power domain
      dt-bindings: clock: qcom: qcs615-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm8550-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm8650-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm8750-gcc: Add CX power domain
      dt-bindings: clock: qcom: sm4450-gcc: Add CX power domain
      dt-bindings: clock: qcom: gcc-sm6350: Add CX power domain
      dt-bindings: clock: qcom: qcs8300-gcc: Add CX power domain
      dt-bindings: clock: qcom: sdx75-gcc: Add CX power domain
      clk: qcom: gcc-eliza: Tie the CX power domain to controller
      clk: qcom: gcc-kaanapali: Tie the CX power domain to controller
      clk: qcom: gcc-qcs8300: Tie the CX power domain to controller
      clk: qcom: gcc-sa8775p: Tie the CX power domain to controller
      clk: qcom: gcc-sar2130p: Tie the CX power domain to controller
      clk: qcom: gcc-sc7280: Tie the CX power domain to controller
      clk: qcom: gcc-sdx75: Tie the CX power domain to controller
      clk: qcom: gcc-sm4450: Tie the CX power domain to controller
      clk: qcom: gcc-sm8350: Tie the CX power domain to controller
      clk: qcom: gcc-sm8450: Tie the CX power domain to controller
      clk: qcom: gcc-sm8550: Tie the CX power domain to controller
      clk: qcom: gcc-sm8650: Tie the CX power domain to controller
      clk: qcom: gcc-sm8750: Tie the CX power domain to controller
      clk: qcom: gcc-x1e80100: Tie the CX power domain to controller
      arm64: dts: qcom: kaanapali: Add GCC CX power domain
      arm64: dts: qcom: monaco: Add GCC CX power domain
      arm64: dts: qcom: sar2130p: Add GCC CX power domain
      arm64: dts: qcom: sdm670: Add GCC CX power domain
      arm64: dts: qcom: sdx75: Add GCC CX power domain
      arm64: dts: qcom: sm4450: Add GCC CX power domain
      arm64: dts: qcom: sm6350: Add GCC CX power domain
      arm64: dts: qcom: sm8150: Add GCC CX power domain
      arm64: dts: qcom: sm8250: Add GCC CX power domain
      arm64: dts: qcom: sm8350: Add GCC CX power domain
      arm64: dts: qcom: sm8450: Add GCC CX power domain
      arm64: dts: qcom: sm8550: Add GCC CX power domain
      arm64: dts: qcom: sm8650: Add GCC CX power domain
      arm64: dts: qcom: sm8750: Add GCC CX power domain
      arm64: dts: qcom: talos: Add GCC CX power domain

 Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml  | 6 +++++-
 Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,qcs615-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,qcs8300-gcc.yaml | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml   | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml  | 7 +++++++
 Documentation/devicetree/bindings/clock/qcom,sm8750-gcc.yaml  | 7 +++++++
 arch/arm64/boot/dts/qcom/kaanapali.dtsi                       | 2 ++
 arch/arm64/boot/dts/qcom/monaco.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sar2130p.dtsi                        | 1 +
 arch/arm64/boot/dts/qcom/sdm670.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sdx75.dtsi                           | 1 +
 arch/arm64/boot/dts/qcom/sm4450.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm6350.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8150.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8250.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8350.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8450.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8550.dtsi                          | 1 +
 arch/arm64/boot/dts/qcom/sm8650.dtsi                          | 2 ++
 arch/arm64/boot/dts/qcom/sm8750.dtsi                          | 2 ++
 arch/arm64/boot/dts/qcom/talos.dtsi                           | 2 ++
 drivers/clk/qcom/gcc-eliza.c                                  | 1 +
 drivers/clk/qcom/gcc-kaanapali.c                              | 1 +
 drivers/clk/qcom/gcc-qcs8300.c                                | 1 +
 drivers/clk/qcom/gcc-sa8775p.c                                | 1 +
 drivers/clk/qcom/gcc-sar2130p.c                               | 1 +
 drivers/clk/qcom/gcc-sc7280.c                                 | 1 +
 drivers/clk/qcom/gcc-sdx75.c                                  | 1 +
 drivers/clk/qcom/gcc-sm4450.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8350.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8450.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8550.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8650.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8750.c                                 | 1 +
 drivers/clk/qcom/gcc-x1e80100.c                               | 1 +
 42 files changed, 122 insertions(+), 1 deletion(-)
---
base-commit: a8c591ed6b672915e0be57843f943a2a723aff40
change-id: 20260819-qcom-tie-cx-to-gcc-67e6697639b5

Best regards,
--  
Abel Vesa <abel.vesa@oss.qualcomm.com>