This patch series brings up the MultiMedia Clock Controller (MMCC) and the GPU Clock Controller (GPUCC), plus includes some fixes for the SDM660 GCC, which are necessary for correct functionality of the clocks from the two new drivers, without causing lockups. There is also a change in the RCG2 GFX3D, which generalizes the gfx3d pingpong handling functions, in order to be able to reuse them for more than just one specific SoC (MSM8996), bringing no functional changes to the aforementioned SoC, which got a MMCC driver gfx3d clock fix for the generalization... obviously. This patch series has been tested against the following devices: - Sony Xperia XA2 Ultra (SDM630 Nile Discovery) - Sony Xperia 10 (SDM630 Ganges Kirin) - Sony Xperia 10 Plus (SDM636 Ganges Mermaid) AngeloGioacchino Del Regno (8): clk: qcom: gcc-sdm660: Mark MMSS NoC CFG AHB clock as critical clk: qcom: gcc-sdm660: Mark GPU CFG AHB clock as critical dt-bindings: clock: Add support for the SDM630 and SDM660 mmcc clk: qcom: rcg2: Stop hardcoding gfx3d pingpong parent numbers clk: qcom: mmcc-msm8996: Migrate gfx3d clock to clk_rcg2_gfx3d clk: qcom: gdsc: Implement NO_RET_PERIPH flag clk: qcom: Add SDM660 GPU Clock Controller (GPUCC) driver dt-bindings: clock: Add QCOM SDM630 and SDM660 graphics clock bindings Martin Botka (1): clk: qcom: Add SDM660 Multimedia Clock Controller (MMCC) driver .../bindings/clock/qcom,gpucc-sdm660.yaml | 76 + .../devicetree/bindings/clock/qcom,mmcc.yaml | 2 + drivers/clk/qcom/Kconfig | 18 + drivers/clk/qcom/Makefile | 2 + drivers/clk/qcom/clk-rcg.h | 9 + drivers/clk/qcom/clk-rcg2.c | 56 +- drivers/clk/qcom/gcc-sdm660.c | 7 + drivers/clk/qcom/gdsc.c | 10 +- drivers/clk/qcom/gdsc.h | 3 +- drivers/clk/qcom/gpucc-sdm660.c | 349 ++ drivers/clk/qcom/mmcc-msm8996.c | 29 +- drivers/clk/qcom/mmcc-sdm660.c | 2864 +++++++++++++++++ include/dt-bindings/clock/qcom,gpucc-sdm660.h | 28 + include/dt-bindings/clock/qcom,mmcc-sdm660.h | 162 + 14 files changed, 3581 insertions(+), 34 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/qcom,gpucc-sdm660.yaml create mode 100644 drivers/clk/qcom/gpucc-sdm660.c create mode 100644 drivers/clk/qcom/mmcc-sdm660.c create mode 100644 include/dt-bindings/clock/qcom,gpucc-sdm660.h create mode 100644 include/dt-bindings/clock/qcom,mmcc-sdm660.h -- 2.29.2