[PATCH v4 00/52] clk: qcom: Tie CX power domains to GCCs

Abel Vesa posted 52 patches 1 week, 3 days ago
There is a newer version of this series
Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml  | 9 ++++++++-
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,qdu1000-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/qdu1000.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-qcs615.c                                 | 1 +
drivers/clk/qcom/gcc-qcs8300.c                                | 1 +
drivers/clk/qcom/gcc-qdu1000.c                                | 1 +
drivers/clk/qcom/gcc-sa8775p.c                                | 1 +
drivers/clk/qcom/gcc-sar2130p.c                               | 1 +
drivers/clk/qcom/gcc-sc7180.c                                 | 1 +
drivers/clk/qcom/gcc-sc7280.c                                 | 1 +
drivers/clk/qcom/gcc-sdm845.c                                 | 2 ++
drivers/clk/qcom/gcc-sdx75.c                                  | 1 +
drivers/clk/qcom/gcc-sm4450.c                                 | 1 +
drivers/clk/qcom/gcc-sm6350.c                                 | 1 +
drivers/clk/qcom/gcc-sm8150.c                                 | 1 +
drivers/clk/qcom/gcc-sm8250.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 +
51 files changed, 141 insertions(+), 1 deletion(-)
[PATCH v4 00/52] clk: qcom: Tie CX power domains to GCCs
Posted by Abel Vesa 1 week, 3 days ago
Tie the CX power domain to GCC clock controllers for SDM670,
SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SM8750, SM6350,
SM4450, QDU1000, QCS8300, SDX75, SAR2130P, SC7180, SC7280, SA8775P,
X1E80100, Eliza, Kaanapali, and QCS615.

Also enable the runtime PM in each of the GCC provider drivers.

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 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 (52):
      dt-bindings: clock: qcom: gcc-sdm845: Add 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: qdu1000-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-qcs615: Tie the CX power domain to controller
      clk: qcom: gcc-qcs8300: Tie the CX power domain to controller
      clk: qcom: gcc-qdu1000: 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-sc7180: Tie the CX power domain to controller
      clk: qcom: gcc-sc7280: Tie the CX power domain to controller
      clk: qcom: gcc-sdm670: Tie the CX power domain to controller
      clk: qcom: gcc-sdm845: 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-sm6350: Tie the CX power domain to controller
      clk: qcom: gcc-sm8150: Tie the CX power domain to controller
      clk: qcom: gcc-sm8250: 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: qdu1000: 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  | 9 ++++++++-
 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,qdu1000-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/qdu1000.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-qcs615.c                                 | 1 +
 drivers/clk/qcom/gcc-qcs8300.c                                | 1 +
 drivers/clk/qcom/gcc-qdu1000.c                                | 1 +
 drivers/clk/qcom/gcc-sa8775p.c                                | 1 +
 drivers/clk/qcom/gcc-sar2130p.c                               | 1 +
 drivers/clk/qcom/gcc-sc7180.c                                 | 1 +
 drivers/clk/qcom/gcc-sc7280.c                                 | 1 +
 drivers/clk/qcom/gcc-sdm845.c                                 | 2 ++
 drivers/clk/qcom/gcc-sdx75.c                                  | 1 +
 drivers/clk/qcom/gcc-sm4450.c                                 | 1 +
 drivers/clk/qcom/gcc-sm6350.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8150.c                                 | 1 +
 drivers/clk/qcom/gcc-sm8250.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 +
 51 files changed, 141 insertions(+), 1 deletion(-)
---
base-commit: 68142f986ff04b2b70b31db00f719bf690f64a9a
change-id: 20260819-qcom-tie-cx-to-gcc-67e6697639b5

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