mbox series

[v6,0/2] Global Clock Controller driver for MSM8976/56

Message ID 20211208091036.132334-1-marijn.suijten@somainline.org (mailing list archive)
Headers show
Series Global Clock Controller driver for MSM8976/56 | expand

Message

Marijn Suijten Dec. 8, 2021, 9:10 a.m. UTC
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 since v5:
- Set vdd_gfx-supply in yaml example, which was added as required
  property in v5 but forgotten from the example; this is only caught by
  running dt_binding_check in addition to dtbs_check.

v5: https://lore.kernel.org/linux-clk/20211004195255.701220-1-marijn.suijten@somainline.org/T

Changes since v4:
- Insert error handling that left `int ret;` in gcc_msm8976_probe unused
  when the original regmap read, xor, and write were replaced with
  regmap_update_bits in v3;
- Document vdd_gfx supply, required in oxili_gx_gdsc;
- Dual-license the yaml Documentation and DT bindings (Rob).

Changes since v3:
- Set the enable_mask of gcc_apss_ahb_clk and gcc_apss_axi_clk to BIT 14
  and 13 respectively instead of overlapping gcc_crypto_ahb_clk's BIT 0.

Changes since v2:
- 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 since v1:
- 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 Controller

 .../bindings/clock/qcom,gcc-msm8976.yaml      |   97 +
 drivers/clk/qcom/Kconfig                      |    8 +
 drivers/clk/qcom/Makefile                     |    1 +
 drivers/clk/qcom/gcc-msm8976.c                | 4160 +++++++++++++++++
 include/dt-bindings/clock/qcom,gcc-msm8976.h  |  240 +
 5 files changed, 4506 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


base-commit: 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
--
2.34.1

Comments

Bjorn Andersson Dec. 15, 2021, 10:27 p.m. UTC | #1
On Wed, 8 Dec 2021 10:10:34 +0100, Marijn Suijten wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/2] dt-bindings: clk: qcom: Document MSM8976 Global Clock Controller
      commit: 13feb2093984625dbece6f1657867c84d45b76de
[2/2] clk: qcom: Add MSM8976/56 Global Clock Controller (GCC) driver
      commit: b577c7e6a63f4dd3b55ccc5c828175995beae66b

Best regards,