This is the Global Clock Controller (GCC) driver for MSM8956, MSM8976 and APQ variants and it has been tested on two Sony phones featuring the Qualcomm MSM8956 SoC. In addition to GCC this driver is also responsible for providing MDSS and GFX3D clocks which reside in the same register space. SoMainline is dedicated to getting their long-awaited msm8976 support, including the Xperia X, X Compact and if feasible also the Xperia Touch projector (APQ8056) slowly but steadily upstreamed. Changes in v3: - Rebased on v5.14; - Various minor cleanups (lowercase hex, const where appropriate, removal of unused enum constants); - Fixed XOR confusion in probe; - All remnants of global clock name dependencies are removed, all inter-driver dependencies must be fully specified in DT; - Added proper dt-bindings yaml validation, listing the required clocks; - Moved dt-bindings header to the dt-bindings patch. Changes in v2: - Rebased onto linux-next 20191015 - Fixed platform driver name (qcom,gcc-8976 => gcc-msm8976) - Splitted changes to dt-bindings to a separate commit AngeloGioacchino Del Regno (1): clk: qcom: Add MSM8976/56 Global Clock Controller (GCC) driver Marijn Suijten (1): dt-bindings: clk: qcom: Document MSM8976 Global Clock & Reset Controller .../bindings/clock/qcom,gcc-msm8976.yaml | 90 + drivers/clk/qcom/Kconfig | 8 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/gcc-msm8976.c | 4154 +++++++++++++++++ include/dt-bindings/clock/qcom,gcc-msm8976.h | 240 + 5 files changed, 4493 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml create mode 100644 drivers/clk/qcom/gcc-msm8976.c create mode 100644 include/dt-bindings/clock/qcom,gcc-msm8976.h -- 2.33.0