[PATCH v5 00/19] clk: qcom: Add DISPCC and GPUCC support for the Qualcomm Shikra SoC

From: Imran Shaik

Date: Thu Jul 02 2026 - 14:48:58 EST


This series adds support for the Display clock controller (DISPCC) and
GPU Clock Controller (GPUCC) on Qualcomm Shikra SoC, by reusing the
respective QCM2290 SoC drivers.

This series extends the QCM2290 DISPCC bindings by adding support for the
DSI1 PHY and sleep clock inputs, as well as the CX power rail. The Agatti
device tree is updated accordingly to comply with the revised bindings.
As a result, the existing DISPCC binding and corresponding DT ABI are
changed, making this an ABI-breaking update.

Shikra GCC series link:
- https://lore.kernel.org/all/20260608-shikra-gcc-rpmcc-clks-v5-0-94cefe092ee3@xxxxxxxxxxxxxxxx/

Signed-off-by: Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>
---
Changes in v5:
- Collected all Reviewed-by tags received on v4.
- Updated the commit text of the bindings patches [Krzysztof]
- Converted only the critical GCC clocks to the latest clk_cbcr convention
- Reorganize the series into logically independent patches [Krzysztof/Dmitry]
- Added CX power domain support for DISPCC [Konrad]
- Dropped DSI1 PHY clock input support from the driver, as these clocks
are not referenced by any frequency table.
- Link to v4: https://lore.kernel.org/r/20260604-shikra-dispcc-gpucc-v4-0-8204f1029311@xxxxxxxxxxxxxxxx

Changes in v4:
- Included new patch for Shikra DISPCC/GPUCC DT node support
- Link to v3: https://lore.kernel.org/r/20260601-shikra-dispcc-gpucc-v3-0-61c1ba3735e8@xxxxxxxxxxxxxxxx

Changes in v3:
- Updated the QCM2290 GCC patch to use the .clk_cbcr convention
- Extended the QCM2290 GPUCC bindings to add DSI1 PHY and Sleep clocks
- Separated the patches as per the review comments in v2 series
- Added Agatti DISPCC DT node changes as per the latest bindings changes
- Link to v2: https://lore.kernel.org/r/20260528-shikra-dispcc-gpucc-v2-0-953f246a0fbb@xxxxxxxxxxxxxxxx

Changes in v2:
- Dropped QCM2290 GCC critical clocks modelling to kept them ON from probe.
- Updated the QCM2290 DISPCC/GPUCC bindings to align for Shikra drivers reuse.
- Reused the QCM2290 DISPCC driver for Shikra without modernizing
(keeping the clock-names approach) for now to avoid potential bindings ABI breakage.
- Modernized QCM2290 GPUCC driver to use commmon qcom_cc_probe() model
and reuse for Shikra.
- Link to v1: https://lore.kernel.org/r/20260513-shikra-dispcc-gpucc-v1-0-5fd673146ab2@xxxxxxxxxxxxxxxx

---
Imran Shaik (19):
clk: qcom: gcc-qcm2290: Keep the critical clocks always-on from probe
dt-bindings: clock: qcom,qcm2290-dispcc: Add DSI1 PHY and sleep clocks
dt-bindings: clock: qcom,qcm2290-dispcc: Add missing power-domains property
dt-bindings: clock: qcom: Add Qualcomm Shikra Display clock controller
dt-bindings: clock: qcom: Add Qualcomm Shikra GPU clock controller
clk: qcom: dispcc-qcm2290: Move to the latest common qcom_cc_probe() model
clk: qcom: dispcc-qcm2290: Switch to DT index based clk lookup
clk: qcom: dispcc-qcm2290: Set HW_CTRL_TRIGGER flag for GDSC
clk: qcom: qcm2290: Set POLL_CFG_GDSCR flag for DISPCC and GPUCC GDSCs
clk: qcom: qcm2290: Add RETAIN_FF_ENABLE flag for DISPCC and GPUCC GDSCs
clk: qcom: qcm2290: Update DISPCC and GPUCC GDSC *wait_val values
clk: qcom: gpucc-qcm2290: Drop pm_clk handling
clk: qcom: gpucc-qcm2290: Move to the latest common qcom_cc_probe() model
clk: qcom: gpucc-qcm2290: Keep the critical clocks always-on from probe
clk: qcom: gpucc-qcm2290: Park RCG's clk source at XO during disable
clk: qcom: Add support for Qualcomm GPU Clock Controller on Shikra
arm64: dts: qcom: agatti: Add DSI1 PHY and sleep clocks to DISPCC node
arm64: dts: qcom: agatti: Add missing CX power domain to DISPCC
arm64: dts: qcom: shikra: Add support for DISPCC/GPUCC nodes

.../bindings/clock/qcom,qcm2290-dispcc.yaml | 35 ++++++-
.../bindings/clock/qcom,qcm2290-gpucc.yaml | 4 +-
arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +-
arch/arm64/boot/dts/qcom/shikra.dtsi | 42 ++++++++
drivers/clk/qcom/dispcc-qcm2290.c | 79 ++++++++------
drivers/clk/qcom/gcc-qcm2290.c | 113 +++------------------
drivers/clk/qcom/gpucc-qcm2290.c | 102 ++++++++-----------
7 files changed, 190 insertions(+), 196 deletions(-)
---
base-commit: 4f441960e691d37c880d2cc004de06bb5b6bd5e4
change-id: 20260513-shikra-dispcc-gpucc-6f59c23020f5
prerequisite-change-id: 20260429-shikra-gcc-rpmcc-clks-2094edfff3b0:v5
prerequisite-patch-id: 59bb0a7828e41f546f734f127d81da83c0adcda9
prerequisite-patch-id: 197da6bcb15cadc47869dba88c8020987b25c335
prerequisite-patch-id: 8ec9c1eb03f052ae232ed54117abed38672c23f6
prerequisite-patch-id: 350db4f4bcdfc0fad9ed57cd5b1723f85ad44f5d
prerequisite-change-id: 20260511-shikra-dt-d75d97454646:v6
prerequisite-patch-id: 3a689e8dda5fd2755b689d94d095806b3f2e6eed
prerequisite-patch-id: ac83151a889855498d36288ddd36216d451340c8
prerequisite-patch-id: 2357cac636e019eaf14d6a493a1c72bca56fe405
prerequisite-patch-id: 2885f299e711582da312ca9d13983d296a3dd5dc
prerequisite-patch-id: 91af5f3c01e766a53ce8de69aa21847a2d6bbbf8

Best regards,
--
Imran Shaik <imran.shaik@xxxxxxxxxxxxxxxx>