Skip to content

Commit 1db4d0e

Browse files
committed
Merge tag 'qcom-clk-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom
Pull Qualcomm clock driver updates from Bjorn Andersson: - Global TCSR, RPMh, and display clock controller support for the Qualcomm Eliza platform - TCSR, the multiple global, and the RPMh clock controller support for the Qualcomm Nord platform - GPU clock controller support for Qualcomm SM8750 - Video and GPU clock controller support for Qualcomm Glymur - Global clock controller support for Qualcomm IPQ5210 - Introduce various smaller display-related fixes across Qualcomm Kaanapali, Milos, SC8280XP, SM4450, SM8250, and SA8775P. - Add missing GDSCs and fix retention flags for PCIe and USB power domains on SC8180X. - Enable runtime PM support to ensure performance votes are propagated to CX on Qualcomm platforms. - Mark the USB QTB clock as always-on on Qualcomm Hamoa, in order to ensure the SMMU can work even when USB controller device is sleeping. - Qualcomm IPQ6018 and IPQ8074 support in the IPQ CMN PLL driver - MDSS resets for Qualcomm SC7180, SM6115, and SM6125, to allow display subsystem driver to reset the hardware from the state left by the bootloader. * tag 'qcom-clk-for-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (67 commits) clk: qcom: gcc: Add multiple global clock controller driver for Nord SoC clk: qcom: rpmh: Add support for Nord rpmh clocks clk: qcom: Add TCSR clock driver for Nord SoC dt-bindings: clock: qcom: Add Nord Global Clock Controller dt-bindings: clock: qcom-rpmhcc: Add support for Nord SoCs dt-bindings: clock: qcom: Document the Nord SoC TCSR Clock Controller clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON clk: qcom: Constify list of critical CBCR registers clk: qcom: Constify qcom_cc_driver_data clk: qcom: videocc-glymur: Constify qcom_cc_desc clk: qcom: Add a driver for SM8750 GPU clocks dt-bindings: clock: qcom: Add SM8750 GPU clocks clk: qcom: ipq-cmn-pll: Add IPQ8074 SoC support dt-bindings: clock: qcom: Add CMN PLL support for IPQ8074 clk: qcom: ipq-cmn-pll: Add IPQ6018 SoC support dt-bindings: clock: qcom: Add CMN PLL support for IPQ6018 clk: qcom: gdsc: Fix error path on registration of multiple pm subdomains dt-bindings: clock: qcom: Add missing power-domains property clk: qcom: gcc-eliza: Enable FORCE_MEM_CORE_ON for UFS AXI PHY clock clk: qcom: dispcc-sc7180: Add missing MDSS resets ...
2 parents c369299 + a4f780c commit 1db4d0e

95 files changed

Lines changed: 18239 additions & 185 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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,eliza-dispcc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Display Clock & Reset Controller for Qualcomm Eliza SoC
8+
9+
maintainers:
10+
- Bjorn Andersson <[email protected]>
11+
- Konrad Dybcio <[email protected]>
12+
- Krzysztof Kozlowski <[email protected]>
13+
14+
description: |
15+
Display clock control module provides the clocks, resets and power
16+
domains on Qualcomm Eliza SoC platform.
17+
18+
See also:
19+
- include/dt-bindings/clock/qcom,eliza-dispcc.h
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- qcom,eliza-dispcc
25+
26+
clocks:
27+
items:
28+
- description: Board XO source
29+
- description: Board Always On XO source
30+
- description: Display's AHB clock
31+
- description: sleep clock
32+
- description: Byte clock from DSI PHY0
33+
- description: Pixel clock from DSI PHY0
34+
- description: Byte clock from DSI PHY1
35+
- description: Pixel clock from DSI PHY1
36+
- description: Link clock from DP PHY0
37+
- description: VCO DIV clock from DP PHY0
38+
- description: Link clock from DP PHY1
39+
- description: VCO DIV clock from DP PHY1
40+
- description: Link clock from DP PHY2
41+
- description: VCO DIV clock from DP PHY2
42+
- description: Link clock from DP PHY3
43+
- description: VCO DIV clock from DP PHY3
44+
- description: HDMI link clock from HDMI PHY
45+
46+
power-domains:
47+
maxItems: 1
48+
49+
required-opps:
50+
maxItems: 1
51+
52+
required:
53+
- compatible
54+
- clocks
55+
- '#power-domain-cells'
56+
57+
allOf:
58+
- $ref: qcom,gcc.yaml#
59+
60+
unevaluatedProperties: false
61+
62+
examples:
63+
- |
64+
#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
65+
#include <dt-bindings/clock/qcom,eliza-gcc.h>
66+
#include <dt-bindings/clock/qcom,rpmh.h>
67+
#include <dt-bindings/power/qcom,rpmhpd.h>
68+
clock-controller@af00000 {
69+
compatible = "qcom,eliza-dispcc";
70+
reg = <0x0af00000 0x20000>;
71+
clocks = <&bi_tcxo_div2>,
72+
<&bi_tcxo_ao_div2>,
73+
<&gcc GCC_DISP_AHB_CLK>,
74+
<&sleep_clk>,
75+
<&dsi0_phy DSI_BYTE_PLL_CLK>,
76+
<&dsi0_phy DSI_PIXEL_PLL_CLK>,
77+
<&dsi1_phy DSI_BYTE_PLL_CLK>,
78+
<&dsi1_phy DSI_PIXEL_PLL_CLK>,
79+
<&dp0_phy 0>,
80+
<&dp0_phy 1>,
81+
<&dp1_phy 0>,
82+
<&dp1_phy 1>,
83+
<&dp2_phy 0>,
84+
<&dp2_phy 1>,
85+
<&dp3_phy 0>,
86+
<&dp3_phy 1>,
87+
<&hdmi_phy>;
88+
89+
#clock-cells = <1>;
90+
#power-domain-cells = <1>;
91+
#reset-cells = <1>;
92+
93+
power-domains = <&rpmhpd RPMHPD_MMCX>;
94+
required-opps = <&rpmhpd_opp_low_svs>;
95+
};
96+
...

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

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

7-
title: Qualcomm Display Clock & Reset Controller on GLYMUR
7+
title: Qualcomm Display Clock & Reset Controller on Glymur SoC
88

99
maintainers:
1010
- Taniya Das <[email protected]>
1111

1212
description: |
1313
Qualcomm display clock control module which supports the clocks, resets and
14-
power domains for the MDSS instances on GLYMUR SoC.
14+
power domains for the MDSS instances on Glymur SoC.
1515
1616
See also:
1717
include/dt-bindings/clock/qcom,dispcc-glymur.h
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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,ipq5210-gcc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global Clock & Reset Controller on IPQ5210
8+
9+
maintainers:
10+
- Bjorn Andersson <[email protected]>
11+
- Kathiravan Thirumoorthy <[email protected]>
12+
13+
description: |
14+
Qualcomm global clock control module provides the clocks, resets and power
15+
domains on IPQ5210
16+
17+
See also:
18+
include/dt-bindings/clock/qcom,ipq5210-gcc.h
19+
include/dt-bindings/reset/qcom,ipq5210-gcc.h
20+
21+
properties:
22+
compatible:
23+
const: qcom,ipq5210-gcc
24+
25+
clocks:
26+
items:
27+
- description: Board XO source
28+
- description: Sleep clock source
29+
- description: PCIE30 PHY0 pipe clock source
30+
- description: PCIE30 PHY1 pipe clock source
31+
- description: USB3 PHY pipe clock source
32+
- description: NSS common clock source
33+
34+
'#power-domain-cells': false
35+
36+
'#interconnect-cells':
37+
const: 1
38+
39+
required:
40+
- compatible
41+
- clocks
42+
43+
allOf:
44+
- $ref: qcom,gcc.yaml#
45+
46+
unevaluatedProperties: false
47+
48+
examples:
49+
- |
50+
clock-controller@1800000 {
51+
compatible = "qcom,ipq5210-gcc";
52+
reg = <0x01800000 0x40000>;
53+
clocks = <&xo_board_clk>,
54+
<&sleep_clk>,
55+
<&pcie30_phy0_pipe_clk>,
56+
<&pcie30_phy1_pipe_clk>,
57+
<&usb3phy_0_cc_pipe_clk>,
58+
<&nss_cmn_clk>;
59+
#clock-cells = <1>;
60+
#reset-cells = <1>;
61+
};
62+
...

Documentation/devicetree/bindings/clock/qcom,ipq9574-cmn-pll.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ properties:
2626
enum:
2727
- qcom,ipq5018-cmn-pll
2828
- qcom,ipq5424-cmn-pll
29+
- qcom,ipq6018-cmn-pll
30+
- qcom,ipq8074-cmn-pll
2931
- qcom,ipq9574-cmn-pll
3032

3133
reg:

Documentation/devicetree/bindings/clock/qcom,kaanapali-gxclkctl.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ description: |
2020
properties:
2121
compatible:
2222
enum:
23+
- qcom,glymur-gxclkctl
2324
- qcom,kaanapali-gxclkctl
25+
- qcom,sm8750-gxclkctl
2426

2527
power-domains:
2628
description:

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

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,21 @@ title: Qualcomm Global Clock & Reset Controller on Milos
88

99
maintainers:
1010
- Luca Weiss <[email protected]>
11+
- Taniya Das <[email protected]>
1112

1213
description: |
1314
Qualcomm global clock control module provides the clocks, resets and power
1415
domains on Milos.
1516
16-
See also: include/dt-bindings/clock/qcom,milos-gcc.h
17+
See also:
18+
- include/dt-bindings/clock/qcom,eliza-gcc.h
19+
- include/dt-bindings/clock/qcom,milos-gcc.h
1720
1821
properties:
1922
compatible:
20-
const: qcom,milos-gcc
23+
enum:
24+
- qcom,eliza-gcc
25+
- qcom,milos-gcc
2126

2227
clocks:
2328
items:
@@ -30,9 +35,14 @@ properties:
3035
- description: UFS Phy Tx symbol 0 clock source
3136
- description: USB3 Phy wrapper pipe clock source
3237

38+
power-domains:
39+
items:
40+
- description: CX domain
41+
3342
required:
3443
- compatible
3544
- clocks
45+
- power-domains
3646
- '#power-domain-cells'
3747

3848
allOf:
@@ -43,6 +53,7 @@ unevaluatedProperties: false
4353
examples:
4454
- |
4555
#include <dt-bindings/clock/qcom,rpmh.h>
56+
#include <dt-bindings/power/qcom,rpmhpd.h>
4657
clock-controller@100000 {
4758
compatible = "qcom,milos-gcc";
4859
reg = <0x00100000 0x1f4200>;
@@ -54,6 +65,7 @@ examples:
5465
<&ufs_mem_phy 1>,
5566
<&ufs_mem_phy 2>,
5667
<&usb_1_qmpphy>;
68+
power-domains = <&rpmhpd RPMHPD_CX>;
5769
#clock-cells = <1>;
5870
#reset-cells = <1>;
5971
#power-domain-cells = <1>;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
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,nord-gcc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global Clock & Reset Controller on Nord SoC
8+
9+
maintainers:
10+
- Taniya Das <[email protected]>
11+
12+
description: |
13+
Qualcomm global clock control module provides the clocks, resets and power
14+
domains on Nord SoC.
15+
16+
See also: include/dt-bindings/clock/qcom,nord-gcc.h
17+
18+
properties:
19+
compatible:
20+
const: qcom,nord-gcc
21+
22+
clocks:
23+
items:
24+
- description: Board XO source
25+
- description: Sleep clock source
26+
- description: PCIE A Pipe clock source
27+
- description: PCIE B Pipe clock source
28+
- description: PCIE C Pipe clock source
29+
- description: PCIE D Pipe clock source
30+
31+
required:
32+
- compatible
33+
- clocks
34+
- '#power-domain-cells'
35+
36+
allOf:
37+
- $ref: qcom,gcc.yaml#
38+
39+
unevaluatedProperties: false
40+
41+
examples:
42+
- |
43+
#include <dt-bindings/clock/qcom,rpmh.h>
44+
clock-controller@100000 {
45+
compatible = "qcom,nord-gcc";
46+
reg = <0x00100000 0x1f4200>;
47+
clocks = <&rpmhcc RPMH_CXO_CLK>,
48+
<&sleep_clk>,
49+
<&pcie_a_pipe_clk>,
50+
<&pcie_b_pipe_clk>,
51+
<&pcie_c_pipe_clk>,
52+
<&pcie_d_pipe_clk>;
53+
#clock-cells = <1>;
54+
#reset-cells = <1>;
55+
#power-domain-cells = <1>;
56+
};
57+
58+
...
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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,nord-negcc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global North East Clock & Reset Controller on Nord SoC
8+
9+
maintainers:
10+
- Taniya Das <[email protected]>
11+
12+
description: |
13+
Qualcomm global clock control (NE) module provides the clocks, resets
14+
and power domains on Nord SoC.
15+
16+
See also: include/dt-bindings/clock/qcom,nord-negcc.h
17+
18+
properties:
19+
compatible:
20+
const: qcom,nord-negcc
21+
22+
clocks:
23+
items:
24+
- description: Board XO source
25+
- description: Sleep clock source
26+
- description: UFS Phy Rx symbol 0 clock source
27+
- description: UFS Phy Rx symbol 1 clock source
28+
- description: UFS Phy Tx symbol 0 clock source
29+
- description: USB3 Phy sec wrapper pipe clock source
30+
- description: USB3 Phy wrapper pipe clock source
31+
32+
required:
33+
- compatible
34+
- clocks
35+
- '#power-domain-cells'
36+
37+
allOf:
38+
- $ref: qcom,gcc.yaml#
39+
40+
unevaluatedProperties: false
41+
42+
examples:
43+
- |
44+
#include <dt-bindings/clock/qcom,rpmh.h>
45+
clock-controller@8900000 {
46+
compatible = "qcom,nord-negcc";
47+
reg = <0x08900000 0xf4200>;
48+
clocks = <&rpmhcc RPMH_CXO_CLK>,
49+
<&sleep_clk>,
50+
<&ufs_phy_rx_symbol_0_clk>,
51+
<&ufs_phy_rx_symbol_1_clk>,
52+
<&ufs_phy_tx_symbol_0_clk>,
53+
<&usb3_phy_sec_pipe_clk>,
54+
<&usb3_phy_pipe_clk>;
55+
#clock-cells = <1>;
56+
#reset-cells = <1>;
57+
#power-domain-cells = <1>;
58+
};
59+
60+
...

0 commit comments

Comments
 (0)