Skip to content

Commit 4c2fdfc

Browse files
committed
Merge tag 'qcom-clk-for-5.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom
Pull Qualcomm clk driver updates from Bjorn Andersson: - Introduces support for the camera clock controller in SM8450 and the display and gpu clock controllers in SM8350. - Various fixes, new clocks and USB GDSCs are introduced for IPQ8074 and for MSM8939 a series of fixes for issues introduced by inheriting the MSM8916 GCC driver is introduced. - Support for a new type of voteable GDSCs are introduced and put in use for the SC8280XP PCIe GDSCs. SC8280XP pipe clocks transitioned to the new phy-mux implementation. - MSM8996 GCC, the RPM clock driver and some clocks in MSM8994 GCC are transitioned to use parent_data. - The topology for Titan (camera) GDSCs on SDM845 and SM8250 are corrected and MSM8916 gains more possible frequencies for its GP clocks. - The GCC and tsens handling on MSM8960 is reworked to mimic the design in IPQ8074 and allow the GCC driver to probe earlier. - The regulator based mmcx supply for dispcc and videocc is dropped, as the only upstream target that adapted this interface was transitioned several kernel versions ago. - GDSCs found to be enabled at boot will now reflect in the enable count of the supply, as was done with the regulator supplies previously. * tag 'qcom-clk-for-5.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (62 commits) clk: qcom: gcc-msm8994: use parent_hws for gpll0/4 clk: qcom: clk-rpm: convert to parent_data API dt-bindings: clock: fix wrong clock documentation for qcom,rpmcc clk: qcom: gcc-msm8939: Add missing USB HS system clock frequencies clk: qcom: gcc-msm8939: Add missing MDSS MDP clock frequencies clk: qcom: gcc-msm8939: Add missing CAMSS CPP clock frequencies clk: qcom: gcc-msm8939: Fix venus0_vcodec0_clk frequency definitions clk: qcom: gcc-msm8939: Add missing CAMSS CCI bus clock clk: qcom: gcc-msm8939: Fix weird field spacing in ftbl_gcc_camss_cci_clk clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled clk: qcom: Drop mmcx gdsc supply for dispcc and videocc clk: qcom: fix build error initializer element is not constant dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources clk: qcom: add support for SM8350 DISPCC clk: qcom: add support for SM8350 GPUCC clk: qcom: add camera clock controller driver for SM8450 SoC clk: qcom: clk-alpha-pll: add Rivian EVO PLL configuration interfaces clk: qcom: clk-alpha-pll: add Lucid EVO PLL configuration interfaces clk: qcom: clk-alpha-pll: limit exported symbols to GPL licensed code clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description ...
2 parents f2906aa + 5e1e12d commit 4c2fdfc

Some content is hidden

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

45 files changed

+5368
-643
lines changed

Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,27 @@
44
$id: http://devicetree.org/schemas/clock/qcom,dispcc-sm8x50.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Qualcomm Display Clock & Reset Controller Binding for SM8150/SM8250
7+
title: Qualcomm Display Clock & Reset Controller Binding for SM8150/SM8250/SM8350
88

99
maintainers:
1010
- Jonathan Marek <[email protected]>
1111

1212
description: |
1313
Qualcomm display clock control module which supports the clocks, resets and
14-
power domains on SM8150 and SM8250.
14+
power domains on SM8150/SM8250/SM8350.
1515
1616
See also:
1717
dt-bindings/clock/qcom,dispcc-sm8150.h
1818
dt-bindings/clock/qcom,dispcc-sm8250.h
19+
dt-bindings/clock/qcom,dispcc-sm8350.h
1920
2021
properties:
2122
compatible:
2223
enum:
2324
- qcom,sc8180x-dispcc
2425
- qcom,sm8150-dispcc
2526
- qcom,sm8250-dispcc
27+
- qcom,sm8350-dispcc
2628

2729
clocks:
2830
items:

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

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
$id: http://devicetree.org/schemas/clock/qcom,gcc-apq8064.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Qualcomm Global Clock & Reset Controller Binding for APQ8064
7+
title: Qualcomm Global Clock & Reset Controller Binding for APQ8064/MSM8960
88

99
allOf:
1010
- $ref: qcom,gcc.yaml#
@@ -23,11 +23,25 @@ description: |
2323
2424
properties:
2525
compatible:
26-
const: qcom,gcc-apq8064
26+
oneOf:
27+
- items:
28+
- enum:
29+
- qcom,gcc-apq8064
30+
- qcom,gcc-msm8960
31+
- const: syscon
32+
- enum:
33+
- qcom,gcc-apq8064
34+
- qcom,gcc-msm8960
35+
deprecated: true
36+
37+
thermal-sensor:
38+
description: child tsens device
39+
$ref: /schemas/thermal/qcom-tsens.yaml#
2740

2841
nvmem-cells:
2942
minItems: 1
3043
maxItems: 2
44+
deprecated: true
3145
description:
3246
Qualcomm TSENS (thermal sensor device) on some devices can
3347
be part of GCC and hence the TSENS properties can also be part
@@ -37,31 +51,39 @@ properties:
3751

3852
nvmem-cell-names:
3953
minItems: 1
54+
deprecated: true
4055
items:
4156
- const: calib
4257
- const: calib_backup
4358

4459
'#thermal-sensor-cells':
4560
const: 1
61+
deprecated: true
4662

4763
required:
4864
- compatible
49-
- nvmem-cells
50-
- nvmem-cell-names
51-
- '#thermal-sensor-cells'
5265

5366
unevaluatedProperties: false
5467

5568
examples:
5669
- |
5770
clock-controller@900000 {
58-
compatible = "qcom,gcc-apq8064";
71+
compatible = "qcom,gcc-apq8064", "syscon";
5972
reg = <0x00900000 0x4000>;
60-
nvmem-cells = <&tsens_calib>, <&tsens_backup>;
61-
nvmem-cell-names = "calib", "calib_backup";
6273
#clock-cells = <1>;
6374
#reset-cells = <1>;
6475
#power-domain-cells = <1>;
65-
#thermal-sensor-cells = <1>;
76+
77+
thermal-sensor {
78+
compatible = "qcom,msm8960-tsens";
79+
80+
nvmem-cells = <&tsens_calib>, <&tsens_backup>;
81+
nvmem-cell-names = "calib", "calib_backup";
82+
interrupts = <0 178 4>;
83+
interrupt-names = "uplow";
84+
85+
#qcom,sensors = <11>;
86+
#thermal-sensor-cells = <1>;
87+
};
6688
};
6789
...

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ properties:
2424
'#clock-cells':
2525
const: 1
2626

27+
'#power-domain-cells':
28+
const: 1
29+
2730
'#reset-cells':
2831
const: 1
2932

@@ -38,6 +41,7 @@ required:
3841
- compatible
3942
- reg
4043
- '#clock-cells'
44+
- '#power-domain-cells'
4145
- '#reset-cells'
4246

4347
additionalProperties: false
@@ -48,6 +52,7 @@ examples:
4852
compatible = "qcom,gcc-ipq8074";
4953
reg = <0x01800000 0x80000>;
5054
#clock-cells = <1>;
55+
#power-domain-cells = <1>;
5156
#reset-cells = <1>;
5257
};
5358
...

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,32 @@ properties:
2222
const: qcom,gcc-msm8996
2323

2424
clocks:
25+
minItems: 3
2526
items:
2627
- description: XO source
2728
- description: Second XO source
2829
- description: Sleep clock source
30+
- description: PCIe 0 PIPE clock (optional)
31+
- description: PCIe 1 PIPE clock (optional)
32+
- description: PCIe 2 PIPE clock (optional)
33+
- description: USB3 PIPE clock (optional)
34+
- description: UFS RX symbol 0 clock (optional)
35+
- description: UFS RX symbol 1 clock (optional)
36+
- description: UFS TX symbol 0 clock (optional)
2937

3038
clock-names:
39+
minItems: 3
3140
items:
3241
- const: cxo
3342
- const: cxo2
3443
- const: sleep_clk
44+
- const: pcie_0_pipe_clk_src
45+
- const: pcie_1_pipe_clk_src
46+
- const: pcie_2_pipe_clk_src
47+
- const: usb3_phy_pipe_clk_src
48+
- const: ufs_rx_symbol_0_clk_src
49+
- const: ufs_rx_symbol_1_clk_src
50+
- const: ufs_tx_symbol_0_clk_src
3551

3652
'#clock-cells':
3753
const: 1

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ properties:
4444
- qcom,gcc-msm8916
4545
- qcom,gcc-msm8939
4646
- qcom,gcc-msm8953
47-
- qcom,gcc-msm8960
4847
- qcom,gcc-msm8974
4948
- qcom,gcc-msm8974pro
5049
- qcom,gcc-msm8974pro-ac
@@ -58,10 +57,10 @@ required:
5857
unevaluatedProperties: false
5958

6059
examples:
61-
# Example for GCC for MSM8960:
60+
# Example for GCC for MSM8974:
6261
- |
6362
clock-controller@900000 {
64-
compatible = "qcom,gcc-msm8960";
63+
compatible = "qcom,gcc-msm8974";
6564
reg = <0x900000 0x4000>;
6665
#clock-cells = <1>;
6766
#reset-cells = <1>;

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ properties:
4343
'#reset-cells':
4444
const: 1
4545

46+
power-domains:
47+
maxItems: 1
48+
4649
'#power-domain-cells':
4750
const: 1
4851

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/qcom,gpucc-sm8350.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Graphics Clock & Reset Controller Binding
8+
9+
maintainers:
10+
- Robert Foss <[email protected]>
11+
12+
description: |
13+
Qualcomm graphics clock control module which supports the clocks, resets and
14+
power domains on Qualcomm SoCs.
15+
16+
See also:
17+
dt-bindings/clock/qcom,gpucc-sm8350.h
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- qcom,sm8350-gpucc
23+
24+
clocks:
25+
items:
26+
- description: Board XO source
27+
- description: GPLL0 main branch source
28+
- description: GPLL0 div branch source
29+
30+
'#clock-cells':
31+
const: 1
32+
33+
'#reset-cells':
34+
const: 1
35+
36+
'#power-domain-cells':
37+
const: 1
38+
39+
reg:
40+
maxItems: 1
41+
42+
required:
43+
- compatible
44+
- reg
45+
- clocks
46+
- '#clock-cells'
47+
- '#reset-cells'
48+
- '#power-domain-cells'
49+
50+
additionalProperties: false
51+
52+
examples:
53+
- |
54+
#include <dt-bindings/clock/qcom,gcc-sm8350.h>
55+
#include <dt-bindings/clock/qcom,rpmh.h>
56+
57+
soc {
58+
#address-cells = <2>;
59+
#size-cells = <2>;
60+
61+
clock-controller@3d90000 {
62+
compatible = "qcom,sm8350-gpucc";
63+
reg = <0 0x03d90000 0 0x9000>;
64+
clocks = <&rpmhcc RPMH_CXO_CLK>,
65+
<&gcc GCC_GPU_GPLL0_CLK_SRC>,
66+
<&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
67+
#clock-cells = <1>;
68+
#reset-cells = <1>;
69+
#power-domain-cells = <1>;
70+
};
71+
};
72+
...

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

Lines changed: 83 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,86 @@ properties:
4949
const: 1
5050

5151
clocks:
52-
maxItems: 1
52+
minItems: 1
53+
maxItems: 2
5354

5455
clock-names:
55-
const: xo
56+
minItems: 1
57+
maxItems: 2
5658

5759
required:
5860
- compatible
5961
- '#clock-cells'
6062

63+
allOf:
64+
- if:
65+
properties:
66+
compatible:
67+
contains:
68+
enum:
69+
- qcom,rpmcc-apq8060
70+
- qcom,rpmcc-ipq806x
71+
- qcom,rpmcc-msm8660
72+
73+
then:
74+
properties:
75+
clocks:
76+
items:
77+
- description: pxo clock
78+
79+
clock-names:
80+
items:
81+
- const: pxo
82+
83+
- if:
84+
properties:
85+
compatible:
86+
contains:
87+
const: qcom,rpmcc-apq8064
88+
then:
89+
properties:
90+
clocks:
91+
items:
92+
- description: pxo clock
93+
- description: cxo clock
94+
95+
clock-names:
96+
items:
97+
- const: pxo
98+
- const: cxo
99+
100+
- if:
101+
properties:
102+
compatible:
103+
contains:
104+
enum:
105+
- qcom,rpmcc-mdm9607
106+
- qcom,rpmcc-msm8226
107+
- qcom,rpmcc-msm8916
108+
- qcom,rpmcc-msm8936
109+
- qcom,rpmcc-msm8953
110+
- qcom,rpmcc-msm8974
111+
- qcom,rpmcc-msm8976
112+
- qcom,rpmcc-msm8992
113+
- qcom,rpmcc-msm8994
114+
- qcom,rpmcc-msm8996
115+
- qcom,rpmcc-msm8998
116+
- qcom,rpmcc-qcm2290
117+
- qcom,rpmcc-qcs404
118+
- qcom,rpmcc-sdm660
119+
- qcom,rpmcc-sm6115
120+
- qcom,rpmcc-sm6125
121+
122+
then:
123+
properties:
124+
clocks:
125+
items:
126+
- description: xo clock
127+
128+
clock-names:
129+
items:
130+
- const: xo
131+
61132
additionalProperties: false
62133

63134
examples:
@@ -73,3 +144,13 @@ examples:
73144
};
74145
};
75146
};
147+
148+
- |
149+
rpm {
150+
clock-controller {
151+
compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
152+
#clock-cells = <1>;
153+
clocks = <&pxo_board>;
154+
clock-names = "pxo";
155+
};
156+
};

0 commit comments

Comments
 (0)