Skip to content

Commit 5270c7a

Browse files
committed
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 ...
2 parents 1b929c0 + c1855dd commit 5270c7a

File tree

88 files changed

+16475
-3688
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+16475
-3688
lines changed

Documentation/devicetree/bindings/clock/qcom,camcc-sm8250.yaml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,16 @@ properties:
2121

2222
clocks:
2323
items:
24+
- description: AHB
2425
- description: Board XO source
26+
- description: Board active XO source
2527
- description: Sleep clock source
2628

2729
clock-names:
2830
items:
31+
- const: iface
2932
- const: bi_tcxo
33+
- const: bi_tcxo_ao
3034
- const: sleep_clk
3135

3236
'#clock-cells':
@@ -38,9 +42,18 @@ properties:
3842
'#power-domain-cells':
3943
const: 1
4044

45+
power-domains:
46+
items:
47+
- description: MMCX power domain
48+
4149
reg:
4250
maxItems: 1
4351

52+
required-opps:
53+
maxItems: 1
54+
description:
55+
OPP node describing required MMCX performance point.
56+
4457
required:
4558
- compatible
4659
- reg
@@ -54,13 +67,16 @@ additionalProperties: false
5467

5568
examples:
5669
- |
70+
#include <dt-bindings/clock/qcom,gcc-sm8250.h>
5771
#include <dt-bindings/clock/qcom,rpmh.h>
5872
clock-controller@ad00000 {
5973
compatible = "qcom,sm8250-camcc";
6074
reg = <0x0ad00000 0x10000>;
61-
clocks = <&rpmhcc RPMH_CXO_CLK>,
75+
clocks = <&gcc GCC_CAMERA_AHB_CLK>,
76+
<&rpmhcc RPMH_CXO_CLK>,
77+
<&rpmhcc RPMH_CXO_CLK_A>,
6278
<&sleep_clk>;
63-
clock-names = "bi_tcxo", "sleep_clk";
79+
clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
6480
#clock-cells = <1>;
6581
#reset-cells = <1>;
6682
#power-domain-cells = <1>;

Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,62 @@ properties:
2525
compatible:
2626
const: qcom,gcc-apq8084
2727

28+
clocks:
29+
items:
30+
- description: XO source
31+
- description: Sleep clock source
32+
- description: UFS RX symbol 0 clock
33+
- description: UFS RX symbol 1 clock
34+
- description: UFS TX symbol 0 clock
35+
- description: UFS TX symbol 1 clock
36+
- description: SATA ASIC0 clock
37+
- description: SATA RX clock
38+
- description: PCIe PIPE clock
39+
40+
clock-names:
41+
items:
42+
- const: xo
43+
- const: sleep_clk
44+
- const: ufs_rx_symbol_0_clk_src
45+
- const: ufs_rx_symbol_1_clk_src
46+
- const: ufs_tx_symbol_0_clk_src
47+
- const: ufs_tx_symbol_1_clk_src
48+
- const: sata_asic0_clk
49+
- const: sata_rx_clk
50+
- const: pcie_pipe
51+
2852
required:
2953
- compatible
3054

3155
unevaluatedProperties: false
3256

3357
examples:
3458
- |
59+
/* UFS PHY on APQ8084 is not supported (yet), so these bindings just serve an example */
3560
clock-controller@fc400000 {
3661
compatible = "qcom,gcc-apq8084";
3762
reg = <0xfc400000 0x4000>;
3863
#clock-cells = <1>;
3964
#reset-cells = <1>;
4065
#power-domain-cells = <1>;
66+
67+
clocks = <&xo_board>,
68+
<&sleep_clk>,
69+
<&ufsphy 0>,
70+
<&ufsphy 1>,
71+
<&ufsphy 2>,
72+
<&ufsphy 3>,
73+
<&sata 0>,
74+
<&sata 1>,
75+
<&pcie_phy>;
76+
clock-names = "xo",
77+
"sleep_clk",
78+
"ufs_rx_symbol_0_clk_src",
79+
"ufs_rx_symbol_1_clk_src",
80+
"ufs_tx_symbol_0_clk_src",
81+
"ufs_tx_symbol_1_clk_src",
82+
"sata_asic0_clk",
83+
"sata_rx_clk",
84+
"pcie_pipe";
4185
};
4286
...

Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,13 @@ properties:
2525
- description: Board XO source
2626
- description: Sleep clock source
2727
- description: Audio reference clock (Optional clock)
28-
- description: PLL test clock source (Optional clock)
2928
minItems: 2
3029

3130
clock-names:
3231
items:
3332
- const: xo
3433
- const: sleep_clk
3534
- const: aud_ref_clk # Optional clock
36-
- const: core_bi_pll_test_se # Optional clock
3735
minItems: 2
3836

3937
required:
@@ -57,11 +55,9 @@ examples:
5755
reg = <0x00100000 0xb0000>;
5856
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
5957
<&sleep>,
60-
<0>,
6158
<0>;
6259
clock-names = "xo",
6360
"sleep_clk",
64-
"aud_ref_clk",
65-
"core_bi_pll_test_se";
61+
"aud_ref_clk";
6662
};
6763
...

Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,31 @@ properties:
2020
compatible:
2121
const: qcom,gcc-qcs404
2222

23-
'#clock-cells':
24-
const: 1
25-
26-
'#reset-cells':
27-
const: 1
28-
29-
reg:
30-
maxItems: 1
31-
32-
protected-clocks:
33-
description:
34-
Protected clock specifier list as per common clock binding.
23+
clocks:
24+
items:
25+
- description: XO source
26+
- description: Sleep clock source
27+
- description: PCIe 0 PIPE clock (optional)
28+
- description: DSI phy instance 0 dsi clock
29+
- description: DSI phy instance 0 byte clock
30+
- description: HDMI phy PLL clock
31+
32+
clock-names:
33+
items:
34+
- const: cxo
35+
- const: sleep_clk
36+
- const: pcie_0_pipe_clk_src
37+
- const: dsi0pll
38+
- const: dsi0pllbyte
39+
- const: hdmi_pll
3540

3641
required:
3742
- compatible
38-
- reg
39-
- '#clock-cells'
40-
- '#reset-cells'
4143

42-
additionalProperties: false
44+
allOf:
45+
- $ref: qcom,gcc.yaml#
46+
47+
unevaluatedProperties: false
4348

4449
examples:
4550
- |
@@ -48,5 +53,6 @@ examples:
4853
reg = <0x01800000 0x80000>;
4954
#clock-cells = <1>;
5055
#reset-cells = <1>;
56+
#power-domain-cells = <1>;
5157
};
5258
...

Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ properties:
5555
- description: First EMAC controller reference clock
5656
- description: Second EMAC controller reference clock
5757

58+
power-domains:
59+
items:
60+
- description: CX domain
61+
5862
protected-clocks:
5963
maxItems: 389
6064

@@ -70,6 +74,8 @@ unevaluatedProperties: false
7074
examples:
7175
- |
7276
#include <dt-bindings/clock/qcom,rpmh.h>
77+
#include <dt-bindings/power/qcom-rpmpd.h>
78+
7379
clock-controller@100000 {
7480
compatible = "qcom,gcc-sc8280xp";
7581
reg = <0x00100000 0x1f0000>;
@@ -106,6 +112,7 @@ examples:
106112
<&pcie4_lane>,
107113
<&rxc0_ref_clk>,
108114
<&rxc1_ref_clk>;
115+
power-domains = <&rpmhpd SC8280XP_CX>;
109116
110117
#clock-cells = <1>;
111118
#reset-cells = <1>;

Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,11 @@ properties:
2424
items:
2525
- description: Board XO source
2626
- description: Sleep clock source
27-
- description: PLL test clock source (Optional clock)
28-
minItems: 2
2927

3028
clock-names:
3129
items:
3230
- const: bi_tcxo
3331
- const: sleep_clk
34-
- const: core_bi_pll_test_se # Optional clock
35-
minItems: 2
3632

3733
required:
3834
- compatible
@@ -51,8 +47,9 @@ examples:
5147
compatible = "qcom,gcc-sdx55";
5248
reg = <0x00100000 0x1f0000>;
5349
clocks = <&rpmhcc RPMH_CXO_CLK>,
54-
<&sleep_clk>, <&pll_test_clk>;
55-
clock-names = "bi_tcxo", "sleep_clk", "core_bi_pll_test_se";
50+
<&sleep_clk>;
51+
clock-names = "bi_tcxo",
52+
"sleep_clk";
5653
#clock-cells = <1>;
5754
#reset-cells = <1>;
5855
#power-domain-cells = <1>;

Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ properties:
2626
- description: Sleep clock source
2727
- description: PCIE Pipe clock source
2828
- description: USB3 phy wrapper pipe clock source
29-
- description: PLL test clock source (Optional clock)
30-
minItems: 5
3129

3230
clock-names:
3331
items:
@@ -36,8 +34,6 @@ properties:
3634
- const: sleep_clk
3735
- const: pcie_pipe_clk
3836
- const: usb3_phy_wrapper_gcc_usb30_pipe_clk
39-
- const: core_bi_pll_test_se # Optional clock
40-
minItems: 5
4137

4238
required:
4339
- compatible
@@ -56,9 +52,9 @@ examples:
5652
compatible = "qcom,gcc-sdx65";
5753
reg = <0x100000 0x1f7400>;
5854
clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>,
59-
<&pcie_pipe_clk>, <&usb3_phy_wrapper_gcc_usb30_pipe_clk>, <&pll_test_clk>;
55+
<&pcie_pipe_clk>, <&usb3_phy_wrapper_gcc_usb30_pipe_clk>;
6056
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk",
61-
"pcie_pipe_clk", "usb3_phy_wrapper_gcc_usb30_pipe_clk", "core_bi_pll_test_se";
57+
"pcie_pipe_clk", "usb3_phy_wrapper_gcc_usb30_pipe_clk";
6258
#clock-cells = <1>;
6359
#reset-cells = <1>;
6460
#power-domain-cells = <1>;

Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ properties:
2323
items:
2424
- description: Board XO source
2525
- description: Sleep clock source
26-
- description: PLL test clock source (Optional clock)
2726
- description: PCIE 0 Pipe clock source (Optional clock)
2827
- description: PCIE 1 Pipe clock source (Optional clock)
2928
- description: UFS card Rx symbol 0 clock source (Optional clock)
@@ -40,7 +39,6 @@ properties:
4039
items:
4140
- const: bi_tcxo
4241
- const: sleep_clk
43-
- const: core_bi_pll_test_se # Optional clock
4442
- const: pcie_0_pipe_clk # Optional clock
4543
- const: pcie_1_pipe_clk # Optional clock
4644
- const: ufs_card_rx_symbol_0_clk # Optional clock

Documentation/devicetree/bindings/clock/qcom,gpucc-sm8350.yaml

Lines changed: 0 additions & 71 deletions
This file was deleted.

Documentation/devicetree/bindings/clock/qcom,gpucc.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ description: |
2121
include/dt-bindings/clock/qcom,gpucc-sm6350.h
2222
include/dt-bindings/clock/qcom,gpucc-sm8150.h
2323
include/dt-bindings/clock/qcom,gpucc-sm8250.h
24+
include/dt-bindings/clock/qcom,gpucc-sm8350.h
2425
2526
properties:
2627
compatible:
@@ -33,6 +34,7 @@ properties:
3334
- qcom,sm6350-gpucc
3435
- qcom,sm8150-gpucc
3536
- qcom,sm8250-gpucc
37+
- qcom,sm8350-gpucc
3638

3739
clocks:
3840
items:

0 commit comments

Comments
 (0)