[GIT PULL] Qualcomm clock driver updates for v6.3
Bjorn Andersson
andersson at kernel.org
Sat Feb 18 20:53:18 PST 2023
The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2:
Linux 6.2-rc1 (2022-12-25 13:41:39 -0800)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git tags/qcom-clk-for-6.3
for you to fetch changes up to 7935b534d32a1823a7d5db449d340f56c201f284:
dt-bindings: clock: Merge qcom,gpucc-sm8350 into qcom,gpucc.yaml (2023-02-08 19:29:25 -0800)
----------------------------------------------------------------
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.
clk_disable_unused() is altered, to not consider clocks which comes from
a provider with sync_state defined. This makes it possible for
individual clock drivers to invoke this process once all clients has
been probed, avoiding the need for booting many systems with
clk_ignore_unused.
This is then enabled for SDM845 and SC8280XP clock controllers.
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.
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.
----------------------------------------------------------------
Abel Vesa (7):
dt-bindings: clock: Add SM8550 TCSR CC clocks
dt-bindings: clock: Add RPMHCC for SM8550
clk: qcom: rpmh: Add support for SM8550 rpmh clocks
clk: qcom: Add TCSR clock driver for SM8550
clk: Add generic sync_state callback for disabling unused clocks
clk: qcom: sdm845: Use generic clk_sync_state_disable_unused callback
dt-bindings: clock: Add SM8550 TCSR CC clocks
Akhil P Oommen (1):
clk: qcom: gdsc: Support 'synced_poweroff' genpd flag
Arnd Bergmann (2):
clk: qcom: rpmh: remove duplicate IPA clock reference
clk: qcom: gcc-qcs404: fix duplicate initializer warning
Bartosz Golaszewski (5):
dt-bindings: clock: qcom-rpmhcc: document the clock for sa8775p
clk: qcom: rpmh: add clocks for sa8775p
dt-bindings: clock: Add Qualcomm SA8775P GCC
clk: qcom: gcc-sa8775p: remove unused variables
dt-bindings: clock: qcom,sa8775p-gcc: add the power-domains property
Bjorn Andersson (5):
Merge tag '1672656511-1931-1-git-send-email-quic_akhilpo at quicinc.com' into clk-for-6.3
Merge branch '20230104093450.3150578-2-abel.vesa at linaro.org' into clk-for-6.3
clk: qcom: Remove need for clk_ignore_unused on sc8280xp
Merge branch '20230103-topic-sm8550-upstream-dispcc-v3-1-8a03d348c572 at linaro.org' into clk-for-6.3
Merge branch '20230112204446.30236-2-quic_molvera at quicinc.com' into HEAD
Bryan O'Donoghue (1):
clk: qcom: smd-rpm: msm8936: Add PMIC gated RPM_SMD_XO_*
Dmitry Baryshkov (100):
dt-bindings: clock: qcom: gcc-qcs404: add two GDSC entries
dt-bindings: clock: qcom: gcc-qcs404: switch to gcc.yaml
dt-bindings: clock: qcom: gcc-qcs404: define clocks/clock-names for QCS404
clk: qcom: gcc-qcs404: use ARRAY_SIZE instead of specifying num_parents
clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents
clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents
clk: qcom: gcc-qcs404: fix the name of the HDMI PLL clock
clk: qcom: gcc-qcs404: get rid of the test clock
clk: qcom: gcc-qcs404: move PLL clocks up
clk: qcom: gcc-qcs404: use parent_hws/_data instead of parent_names
clk: qcom: gcc-qcs404: sort out the cxo clock
clk: qcom: gcc-qcs404: add support for GDSCs
dt-bindings: clocks: qcom: rpmcc: add LN_BB_CLK_PIN clocks
clk: qcom: smd-rpm: enable pin-controlled ln_bb_clk clocks on qcs404
clk: qcom: smd-rpm: remove duplication between MMXI and MMAXI defines
clk: qcom: smd-rpm: remove duplication between qcs404 and qcm2290 clocks
clk: qcom: smd-rpm: add missing ln_bb_clkN clocks
clk: qcom: smd-rpm: use msm8998_ln_bb_clk2 for qcm2290 SoC
clk: qcom: smd-rpm: rename msm8992_ln_bb_* clocks to qcs404_ln_bb_*
clk: qcom: smd-rpm: remove duplication between sm6375 and sm6125 clocks
clk: qcom: smd-rpm: add XO_BUFFER clock for each XO_BUFFER_PINCTRL clock
clk: qcom: smd-rpm: drop the rpm_status_id field
clk: qcom: smd-rpm: fix alignment of line breaking backslashes
clk: qcom: smd-rpm: move clock definitions together
clk: qcom: smd-rpm: rename some msm8974 active-only clocks
clk: qcom: smd-rpm: simplify XO_BUFFER clocks definitions
clk: qcom: smd-rpm: simplify SMD_RPM/_BRANCH/_QDSS clock definitions
clk: qcom: smd-rpm: rename SMD_RPM_BRANCH clock symbols
clk: qcom: smd-rpm: rename the qcm2290 rf_clk3 clocks
clk: qcom: smd-rpm: rename SMD_RPM_BUS clocks
clk: qcom: smd-rpm: remove usage of platform name
clk: qcom: dispcc-sm8450: switch to parent_hws
clk: qcom: dispcc-sc7180: switch to parent_hws
clk: qcom: dispcc-sm6375: switch to parent_hws
clk: qcom: camcc-sc7280: switch to parent_hws
clk: qcom: camcc-sm8450: switch to parent_hws
clk: qcom: gcc-msm8939: switch to parent_hws
clk: qcom: gcc-msm8976: switch to parent_hws
clk: qcom: gcc-sc7180: switch to parent_hws
clk: qcom: gcc-sc7280: switch to parent_hws
clk: qcom: gcc-sdx65: switch to parent_hws
clk: qcom: gcc-sm6375: switch to parent_hws
clk: qcom: gcc-sm8250: switch to parent_hws
clk: qcom: gcc-sm8450: switch to parent_hws
clk: qcom: gcc-sm8550: switch to parent_hws
clk: qcom: gpucc-msm8998: switch to parent_hws
clk: qcom: gpucc-sc7180: switch to parent_hws
clk: qcom: lpasscc-sc7180: switch to parent_hws
clk: qcom: dispcc-sm8250: switch to devm_pm_runtime_enable
clk: qcom: dispcc-sm8450: switch to devm_pm_runtime_enable
clk: qcom: lpasscc-sc7280: switch to devm_pm_runtime_enable
clk: qcom: videocc-sm8250: switch to devm_pm_runtime_enable
clk: qcom: dispcc-sm6115: use parent_hws for disp_cc_mdss_rot_clk
clk: qcom: gcc-sm6375: use parent_hws for gcc_disp_gpll0_div_clk_src
clk: qcom: clk-spmi-pmic-div: convert to use parent_data
dt-bindings: clock: qcom,gcc-msm8998: drop core_bi_pll_test_se
dt-bindings: clock: qcom,gcc-sdx55: drop core_bi_pll_test_se
dt-bindings: clock: qcom,gcc-sdx65: drop core_bi_pll_test_se
dt-bindings: clock: qcom,mmcc-msm8998: drop core_bi_pll_test_se
dt-bindings: clock: qcom: gcc-sm8350: drop test clock
dt-bindings: clock: qcom: gcc-sm8450: drop test clock
clk: qcom: dispcc-qcm2290: get rid of test clock
clk: qcom: gcc-msm8998: get rid of test clock
clk: qcom: gcc-sc7180: get rid of test clock
clk: qcom: gcc-sdx55: use ARRAY_SIZE instead of specifying num_parents
clk: qcom: gcc-sdx55: get rid of test clock
clk: qcom: mmcc-msm8998: get rid of test clock
clk: qcom: gcc-msm8974: switch from sleep_clk_src to sleep_clk
clk: qcom: rpmh: define IPA clocks where required
dt-bindings: clock: qcom,gcc-apq8084: define clocks/clock-names
dt-bindings: clock: qcom,gcc-apq8084: add GCC_MMSS_GPLL0_CLK_SRC
dt-bindings: clock: qcom,mmcc: define clocks/clock-names for APQ8084
clk: qcom: gcc-apq8084: use ARRAY_SIZE instead of specifying num_parents
clk: qcom: gcc-apq8084: move PLL clocks up
clk: qcom: gcc-apq8084: use parent_hws/_data instead of parent_names
clk: qcom: gcc-apq8084: add GCC_MMSS_GPLL0_CLK_SRC
clk: qcom: mmcc-apq8084: use ARRAY_SIZE instead of specifying num_parents
clk: qcom: mmcc-apq8084: move clock parent tables down
clk: qcom: mmcc-apq8084: remove spdm clocks
clk: qcom: mmcc-apq8084: use parent_hws/_data instead of parent_names
dt-bindings: clock: qcom,msm8996-apcc: add sys_apcs_aux clock
clk: qcom: clk-alpha-pll: program PLL_TEST/PLL_TEST_U if required
clk: qcom: cpu-8996: correct PLL programming
clk: qcom: cpu-8996: fix the init clock rate
clk: qcom: cpu-8996: support using GPLL0 as SMUX input
clk: qcom: cpu-8996: skip ACD init if the setup is valid
clk: qcom: cpu-8996: simplify the cpu_clk_notifier_cb
clk: qcom: cpu-8996: setup PLLs before registering clocks
clk: qcom: cpu-8996: move qcom_cpu_clk_msm8996_acd_init call
clk: qcom: cpu-8996: fix PLL configuration sequence
clk: qcom: cpu-8996: fix ACD initialization
clk: qcom: cpu-8996: fix PLL clock ops
clk: qcom: cpu-8996: change setup sequence to follow vendor kernel
clk: qcom: add the driver for the MSM8996 APCS clocks
dt-bindings: clock: qcom,msm8996-cbf: Describe the MSM8996 CBF clock controller
clk: qcom: add msm8996 Core Bus Framework (CBF) support
clk: qcom: smd-rpm: provide RPM_SMD_XO_CLK_SRC on MSM8996 platform
clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
dt-bindings: clock: Merge qcom,gpucc-sm8350 into qcom,gpucc.yaml
Konrad Dybcio (5):
clk: qcom: gcc-sm6115: Use floor_ops for SDCC1/2 core clk
dt-bindings: clock: add QCOM SM6350 camera clock bindings
clk: qcom: Add camera clock controller driver for SM6350
arm64: dts: qcom: sm8250: Pad addresses to 8 hex digits
clk: qcom: camcc-sm6350: Make camcc_sm6350_hws static
Krzysztof Kozlowski (8):
dt-bindings: clock: qcom,gcc-sc8280xp: document power domain
dt-bindings: clock: qcom,spmi-clkdiv: convert to DT schema
dt-bindings: clock: qcom,gcc-sm8350: drop core_bi_pll_test_se input
clk: gcc-sm8150: drop PLL test clock
clk: gcc-sm8350: drop PLL test clock
dt-bindings: clock: qcom,videocc: correct clocks per variant
dt-bindings: clock: qcom,camcc-sm8250: extend clocks and power domains
clk: qcom: cpu-8996: add missing cputype include
Marijn Suijten (1):
clk: qcom: dispcc-sm6125: Fix compatible string to match bindings
Melody Olvera (1):
dt-bindings: clock: Add QDU1000 and QRU1000 GCC clocks
Neil Armstrong (4):
dt-bindings: clock: document SM8550 DISPCC clock controller
clk: qcom: clk-alpha-pll: define alias of LUCID OLE reset ops to EVO reset ops
clk: qcom: add SM8550 DISPCC driver
dt-bindings: clock: document SM8550 DISPCC clock controller
Robert Marko (1):
clk: qcom: ipq8074: populate fw_name for usb3phy-s
Shazad Hussain (1):
clk: qcom: add the GCC driver for sa8775p
Taniya Das (1):
clk: qcom: Add QDU1000 and QRU1000 GCC support
Ulf Hansson (1):
PM: domains: Allow a genpd consumer to require a synced power off
Yang Yingliang (1):
clk: qcom: krait-cc: fix wrong pointer passed to IS_ERR()
.../bindings/clock/qcom,camcc-sm8250.yaml | 20 +-
.../bindings/clock/qcom,gcc-apq8084.yaml | 44 +
.../bindings/clock/qcom,gcc-msm8998.yaml | 6 +-
.../devicetree/bindings/clock/qcom,gcc-qcs404.yaml | 38 +-
.../bindings/clock/qcom,gcc-sc8280xp.yaml | 7 +
.../devicetree/bindings/clock/qcom,gcc-sdx55.yaml | 9 +-
.../devicetree/bindings/clock/qcom,gcc-sdx65.yaml | 8 +-
.../devicetree/bindings/clock/qcom,gcc-sm8350.yaml | 2 -
.../bindings/clock/qcom,gpucc-sm8350.yaml | 71 -
.../devicetree/bindings/clock/qcom,gpucc.yaml | 2 +
.../devicetree/bindings/clock/qcom,mmcc.yaml | 46 +-
.../bindings/clock/qcom,msm8996-apcc.yaml | 6 +-
.../bindings/clock/qcom,msm8996-cbf.yaml | 53 +
.../bindings/clock/qcom,qdu1000-gcc.yaml | 51 +
.../devicetree/bindings/clock/qcom,rpmhcc.yaml | 2 +
.../bindings/clock/qcom,sa8775p-gcc.yaml | 84 +
.../bindings/clock/qcom,sm6350-camcc.yaml | 49 +
.../bindings/clock/qcom,sm8550-dispcc.yaml | 105 +
.../bindings/clock/qcom,sm8550-tcsr.yaml | 55 +
.../devicetree/bindings/clock/qcom,spmi-clkdiv.txt | 59 -
.../bindings/clock/qcom,spmi-clkdiv.yaml | 71 +
.../devicetree/bindings/clock/qcom,videocc.yaml | 59 +-
arch/arm64/boot/dts/qcom/sm8250.dtsi | 8 +-
drivers/base/power/domain.c | 26 +
drivers/clk/clk.c | 57 +-
drivers/clk/qcom/Kconfig | 40 +
drivers/clk/qcom/Makefile | 7 +-
drivers/clk/qcom/apcs-msm8996.c | 88 +
drivers/clk/qcom/camcc-sc7280.c | 268 +-
drivers/clk/qcom/camcc-sdm845.c | 1 +
drivers/clk/qcom/camcc-sm6350.c | 1906 ++++++++
drivers/clk/qcom/camcc-sm8450.c | 324 +-
drivers/clk/qcom/clk-alpha-pll.c | 5 +
drivers/clk/qcom/clk-alpha-pll.h | 1 +
drivers/clk/qcom/clk-cbf-8996.c | 315 ++
drivers/clk/qcom/clk-cpu-8996.c | 146 +-
drivers/clk/qcom/clk-rpmh.c | 56 +
drivers/clk/qcom/clk-smd-rpm.c | 1445 +++---
drivers/clk/qcom/clk-spmi-pmic-div.c | 10 +-
drivers/clk/qcom/dispcc-qcm2290.c | 6 -
drivers/clk/qcom/dispcc-sc7180.c | 8 +-
drivers/clk/qcom/dispcc-sc8280xp.c | 1 +
drivers/clk/qcom/dispcc-sdm845.c | 1 +
drivers/clk/qcom/dispcc-sm6115.c | 4 +-
drivers/clk/qcom/dispcc-sm6125.c | 2 +-
drivers/clk/qcom/dispcc-sm6375.c | 4 +-
drivers/clk/qcom/dispcc-sm8250.c | 9 +-
drivers/clk/qcom/dispcc-sm8450.c | 221 +-
drivers/clk/qcom/dispcc-sm8550.c | 1807 ++++++++
drivers/clk/qcom/gcc-apq8084.c | 1024 +++--
drivers/clk/qcom/gcc-ipq8074.c | 4 +-
drivers/clk/qcom/gcc-msm8939.c | 32 +-
drivers/clk/qcom/gcc-msm8974.c | 10 +-
drivers/clk/qcom/gcc-msm8976.c | 30 +-
drivers/clk/qcom/gcc-msm8998.c | 13 -
drivers/clk/qcom/gcc-qcs404.c | 842 ++--
drivers/clk/qcom/gcc-qdu1000.c | 2653 +++++++++++
drivers/clk/qcom/gcc-sa8775p.c | 4785 ++++++++++++++++++++
drivers/clk/qcom/gcc-sc7180.c | 19 +-
drivers/clk/qcom/gcc-sc7280.c | 10 +-
drivers/clk/qcom/gcc-sc8280xp.c | 1 +
drivers/clk/qcom/gcc-sdm845.c | 1 +
drivers/clk/qcom/gcc-sdx55.c | 64 +-
drivers/clk/qcom/gcc-sdx65.c | 109 +-
drivers/clk/qcom/gcc-sm6115.c | 4 +-
drivers/clk/qcom/gcc-sm6375.c | 257 +-
drivers/clk/qcom/gcc-sm8150.c | 17 -
drivers/clk/qcom/gcc-sm8250.c | 10 +-
drivers/clk/qcom/gcc-sm8350.c | 15 -
drivers/clk/qcom/gcc-sm8450.c | 236 +-
drivers/clk/qcom/gcc-sm8550.c | 252 +-
drivers/clk/qcom/gdsc.c | 11 +-
drivers/clk/qcom/gpucc-msm8998.c | 8 +-
drivers/clk/qcom/gpucc-sc7180.c | 11 +-
drivers/clk/qcom/gpucc-sdm845.c | 8 +-
drivers/clk/qcom/krait-cc.c | 4 +-
drivers/clk/qcom/lpasscc-sc7280.c | 10 +-
drivers/clk/qcom/lpasscorecc-sc7180.c | 20 +-
drivers/clk/qcom/mmcc-apq8084.c | 1189 ++---
drivers/clk/qcom/mmcc-msm8998.c | 25 -
drivers/clk/qcom/tcsrcc-sm8550.c | 192 +
drivers/clk/qcom/videocc-sm8250.c | 9 +-
include/dt-bindings/clock/qcom,gcc-apq8084.h | 1 +
include/dt-bindings/clock/qcom,gcc-qcs404.h | 4 +
include/dt-bindings/clock/qcom,gcc-sm8350.h | 1 -
include/dt-bindings/clock/qcom,gcc-sm8450.h | 1 -
include/dt-bindings/clock/qcom,qdu1000-gcc.h | 175 +
include/dt-bindings/clock/qcom,rpmcc.h | 2 +
include/dt-bindings/clock/qcom,sa8775p-gcc.h | 320 ++
include/dt-bindings/clock/qcom,sm6350-camcc.h | 109 +
include/dt-bindings/clock/qcom,sm8550-dispcc.h | 101 +
include/dt-bindings/clock/qcom,sm8550-tcsr.h | 18 +
include/linux/clk-provider.h | 1 +
include/linux/pm_domain.h | 5 +
include/linux/soc/qcom/smd-rpm.h | 1 -
95 files changed, 16528 insertions(+), 3699 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/clock/qcom,gpucc-sm8350.yaml
create mode 100644 Documentation/devicetree/bindings/clock/qcom,msm8996-cbf.yaml
create mode 100644 Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml
create mode 100644 Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml
create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml
create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm8550-dispcc.yaml
create mode 100644 Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml
delete mode 100644 Documentation/devicetree/bindings/clock/qcom,spmi-clkdiv.txt
create mode 100644 Documentation/devicetree/bindings/clock/qcom,spmi-clkdiv.yaml
create mode 100644 drivers/clk/qcom/apcs-msm8996.c
create mode 100644 drivers/clk/qcom/camcc-sm6350.c
create mode 100644 drivers/clk/qcom/clk-cbf-8996.c
create mode 100644 drivers/clk/qcom/dispcc-sm8550.c
create mode 100644 drivers/clk/qcom/gcc-qdu1000.c
create mode 100644 drivers/clk/qcom/gcc-sa8775p.c
create mode 100644 drivers/clk/qcom/tcsrcc-sm8550.c
create mode 100644 include/dt-bindings/clock/qcom,qdu1000-gcc.h
create mode 100644 include/dt-bindings/clock/qcom,sa8775p-gcc.h
create mode 100644 include/dt-bindings/clock/qcom,sm6350-camcc.h
create mode 100644 include/dt-bindings/clock/qcom,sm8550-dispcc.h
create mode 100644 include/dt-bindings/clock/qcom,sm8550-tcsr.h
More information about the linux-arm-kernel
mailing list