Qualcomm clock driver updates for v6.3

Support for requesting the next power_off operation for a genpd to be
 synchronous is introduced, and implemented in the GDSC driver. To allow
 the GPU driver to request power_off to wait for the GDSC to actually
 collapse.
 
 Support for QDU1000/QRU1000 Global clock controller, SA8775P Global
 clock controller, SM8550 TCSR and display clock controller, SM6350 clock
 controller, nd MSM8996 CBF and APCS clock controllers is introduced..
 
 Parent references are updated across a large number of clock drivers, to
 align with the design changes since those drivers where introduced.
 Similarly, test clocks has been dropped from a range of drivers.
 
 A range of fixes for the MSM8996 CPU clock controller is introduced.
 
 MSM8974 GCC is transitioned off the externally defined sleep_clk.
 
 GDSC in the global clock controller for QCS404 is added, and various
 parent definitions are cleaned up.
 
 The SDCC core clocks on SM6115 are moved for floor_ops.
 
 Programming of clk_dis_wait for GPU CX GDSC on SC7180 and SDM845 are
 moved to use the recently introduced properties in the GDSC struct.
 
 The RPMh clock driver gains SM8550 and SA8775P clocks, and the IPA clock
 is added on a variety of platforms.
 
 The SMD RPM driver receives a big cleanup, in particular a move away
 from duplicating declaration of identical clocks between multiple
 platforms.
 A few missing clocks across msm8998, msm8992, msm8916, qcs404 are added
 as well.
 
 Using devm_pm_runtime_enable() to clean up some duplication is done
 across SM8250 display and video clock controllers, SM8450 display clock
 controller and SC7280 LPASS clock controller.
 
 Devicetree binding changes for above mentioned additions and changes are
 introduced.
 
 Support for postponing clk_disable_unused() until sync_state was
 introduced, but later reverted again, awaiting an agreement on the
 solution.
 
 Lastly, a change to pad a few registers in the SM8250 DTS to 8 digits
 was picked up in the wrong tree and kept here, to avoid rebasing.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmP2NUoVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FKx8P/3MbazA6/X63Q6YjaOWIFlB7ekRl
 UVumgbvFB6Ul0hErLluGBlAckjf5gyEb/SQDeQ6yMG6EO6UFTA74ZT4mqDh3jr6P
 VAVjxW6BGgiPLBSLAFGhq1YQwmbCiiOKWleApZpgWH8gQU3NbdUV1c3WueGRGSWK
 HXmNgE5Up4NqBPcupKadDQO4L/32hrnH3gy21MY7f0okFuCWENdUjVkYLupWOdc+
 yWHJot0esSMZUy6I8p/PHAsuOLfvELzgS2WFAv/Kv38G6Dx81MvVh6wdlWu2WT+Q
 y8Ooje6C9YzV8MS3YgwI59ajX5+5pmYGvPz8QhyhTGGX3KzPrgZus31d5/zDqHe6
 gVTXM75luDxjq80QIb0onm1FGC2qK3B1590x+x6XB4Cpe1k98qvEAGgUTrrjCznc
 dSzo+nsQVANzwSUQiW3mpR79QttHFAh/OeS2xk4phg8kGrNZOZOJEiybXwJhAPzH
 dFvFRLEQkxIvwKl27ewv1b3grJuHDg7SP4cPAVFz8cGHoOe7EIYAMT066UkHT4+G
 5QobmKYkDBCJFIPZpjRjvXU7JXXsuYLWfV7qSq6AI4fyGx1UrR6D+vzERvk/bupy
 PLrOJVbwmR7P8WW5H8qwh+5daUHKshxMjvuVKTVRTZizbodXEM3d0/mTeK9ZXuN4
 qJ+cHoeV9A4c0rnG
 =uOcH
 -----END PGP SIGNATURE-----

Merge tag 'qcom-clk-for-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom

Pull Qualcomm clk driver updates from Bjorn Andersson:

Support for requesting the next power_off operation for a genpd to be
synchronous is introduced, and implemented in the GDSC driver. To allow
the GPU driver to request power_off to wait for the GDSC to actually
collapse.

Support for QDU1000/QRU1000 Global clock controller, SA8775P Global
clock controller, SM8550 TCSR and display clock controller, SM6350 clock
controller, nd MSM8996 CBF and APCS clock controllers is introduced.

Parent references are updated across a large number of clock drivers, to
align with the design changes since those drivers where introduced.
Similarly, test clocks has been dropped from a range of drivers.

A range of fixes for the MSM8996 CPU clock controller is introduced.

MSM8974 GCC is transitioned off the externally defined sleep_clk.

GDSC in the global clock controller for QCS404 is added, and various
parent definitions are cleaned up.

The SDCC core clocks on SM6115 are moved for floor_ops.

Programming of clk_dis_wait for GPU CX GDSC on SC7180 and SDM845 are
moved to use the recently introduced properties in the GDSC struct.

The RPMh clock driver gains SM8550 and SA8775P clocks, and the IPA clock
is added on a variety of platforms.

The SMD RPM driver receives a big cleanup, in particular a move away
from duplicating declaration of identical clocks between multiple
platforms.
A few missing clocks across msm8998, msm8992, msm8916, qcs404 are added
as well.

Using devm_pm_runtime_enable() to clean up some duplication is done
across SM8250 display and video clock controllers, SM8450 display clock
controller and SC7280 LPASS clock controller.

Devicetree binding changes for above mentioned additions and changes are
introduced.

Support for postponing clk_disable_unused() until sync_state was
introduced, but later reverted again, awaiting an agreement on the
solution.

Lastly, a change to pad a few registers in the SM8250 DTS to 8 digits
was picked up in the wrong tree and kept here, to avoid rebasing.

* tag 'qcom-clk-for-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (142 commits)
  clk: qcom: Revert sync_state based clk_disable_unused
  dt-bindings: clock: Merge qcom,gpucc-sm8350 into qcom,gpucc.yaml
  clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
  clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
  dt-bindings: clock: qcom,sa8775p-gcc: add the power-domains property
  clk: qcom: cpu-8996: add missing cputype include
  clk: qcom: gcc-sa8775p: remove unused variables
  clk: qcom: smd-rpm: provide RPM_SMD_XO_CLK_SRC on MSM8996 platform
  clk: qcom: add msm8996 Core Bus Framework (CBF) support
  dt-bindings: clock: qcom,msm8996-cbf: Describe the MSM8996 CBF clock controller
  clk: qcom: add the driver for the MSM8996 APCS clocks
  clk: qcom: gcc-qcs404: fix duplicate initializer warning
  clk: qcom: cpu-8996: change setup sequence to follow vendor kernel
  clk: qcom: cpu-8996: fix PLL clock ops
  clk: qcom: cpu-8996: fix ACD initialization
  clk: qcom: cpu-8996: fix PLL configuration sequence
  clk: qcom: cpu-8996: move qcom_cpu_clk_msm8996_acd_init call
  clk: qcom: cpu-8996: setup PLLs before registering clocks
  clk: qcom: cpu-8996: simplify the cpu_clk_notifier_cb
  clk: qcom: cpu-8996: skip ACD init if the setup is valid
  ...
This commit is contained in:
Stephen Boyd 2023-02-22 16:32:15 -08:00
commit 5270c7a244
88 changed files with 16475 additions and 3688 deletions

File diff suppressed because it is too large Load diff