Skip to content

Commit 234af44

Browse files
committed
Merge tag 'qcom-clk-for-5.18' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom
Pull Qualcomm clk driver updates from Bjorn Andersson: This introduces support for A7 PLL on SDX65, GPU clock controller for SM6350, display clock controller for SM6125, SM6350 and QCS2290 and multimedia clock controller for MSM8226. The RPMCC drivers get support for SC8280XP and MSM8992, MSM8994 and MSM8998 gains some missing clocks. A new gcc DeviceTree binding is introduced, to allow platform-specific GCC bindings to inherit common properties. The SDM845 camera clock controller binding is converted to YAML. SDM845 camera clock controller, SDM660 GPU clock controller, IPQ8074 global clock controller, IPQ806x global clock controller, SC7180 camera and video clock controllers, MSM8996 globacl clock controller are converted to parent_data and/or parent_hws and cleanups related to this. Test clocks are removed from the SC7180, SDM845 camera clock controller drivers and SDM660 GPU clock controller driver. IPQ806x gains clocks and resets for CryptoEngine and additional frequencies for SDCC and NSS cores. Floor ops are introduced for RCG clocks and used for IPQ8074 SDCC clocks. SM8150 gains EMAC, PCIe and UFS GDSCs. The RCG2 logic for calculating D value is updated to support pixel clock frequencies on newer platforms. * tag 'qcom-clk-for-5.18' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (59 commits) clk: qcom: Add display clock controller driver for SM6125 dt-bindings: clock: add QCOM SM6125 display clock bindings clk: qcom: Fix sorting of SDX_GCC_65 in Makefile and Kconfig clk: qcom: gcc: Add emac GDSC support for SM8150 clk: qcom: gcc: sm8150: Fix some identation issues clk: qcom: gcc: Add UFS_CARD and UFS_PHY GDSCs for SM8150 clk: qcom: gcc: Add PCIe0 and PCIe1 GDSC for SM8150 clk: qcom: clk-rcg2: Update the frac table for pixel clock clk: qcom: clk-rcg2: Update logic to calculate D value for RCG clk: qcom: smd: Add missing MSM8998 RPM clocks clk: qcom: smd: Add missing RPM clocks for msm8992/4 dt-bindings: clock: qcom: rpmcc: Add RPM Modem SubSystem (MSS) clocks clk: qcom: gcc-ipq806x: add CryptoEngine resets dt-bindings: reset: add ipq8064 ce5 resets clk: qcom: gcc-ipq806x: add CryptoEngine clocks dt-bindings: clock: add ipq8064 ce5 clk define clk: qcom: gcc-ipq806x: add additional freq for sdc table clk: qcom: clk-rcg: add clk_rcg_floor_ops ops clk: qcom: gcc-ipq806x: add unusued flag for critical clock clk: qcom: gcc-ipq806x: add additional freq nss cores ...
2 parents e783362 + 6e87c8f commit 234af44

42 files changed

Lines changed: 5027 additions & 985 deletions

Some content is hidden

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ maintainers:
1010
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
1111

1212
description:
13-
The A7 PLL on the Qualcomm platforms like SDX55 is used to provide high
13+
The A7 PLL on the Qualcomm platforms like SDX55, SDX65 is used to provide high
1414
frequency clock to the CPU.
1515

1616
properties:

Documentation/devicetree/bindings/clock/qcom,camcc.txt

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
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,dispcc-sm6125.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Display Clock Controller Binding for SM6125
8+
9+
maintainers:
10+
- Martin Botka <martin.botka@somainline.org>
11+
12+
description: |
13+
Qualcomm display clock control module which supports the clocks and
14+
power domains on SM6125.
15+
16+
See also:
17+
dt-bindings/clock/qcom,dispcc-sm6125.h
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- qcom,sm6125-dispcc
23+
24+
clocks:
25+
items:
26+
- description: Board XO source
27+
- description: Byte clock from DSI PHY0
28+
- description: Pixel clock from DSI PHY0
29+
- description: Pixel clock from DSI PHY1
30+
- description: Link clock from DP PHY
31+
- description: VCO DIV clock from DP PHY
32+
- description: AHB config clock from GCC
33+
34+
clock-names:
35+
items:
36+
- const: bi_tcxo
37+
- const: dsi0_phy_pll_out_byteclk
38+
- const: dsi0_phy_pll_out_dsiclk
39+
- const: dsi1_phy_pll_out_dsiclk
40+
- const: dp_phy_pll_link_clk
41+
- const: dp_phy_pll_vco_div_clk
42+
- const: cfg_ahb_clk
43+
44+
'#clock-cells':
45+
const: 1
46+
47+
'#power-domain-cells':
48+
const: 1
49+
50+
reg:
51+
maxItems: 1
52+
53+
required:
54+
- compatible
55+
- reg
56+
- clocks
57+
- clock-names
58+
- '#clock-cells'
59+
- '#power-domain-cells'
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/clock/qcom,rpmcc.h>
66+
#include <dt-bindings/clock/qcom,gcc-sm6125.h>
67+
clock-controller@5f00000 {
68+
compatible = "qcom,sm6125-dispcc";
69+
reg = <0x5f00000 0x20000>;
70+
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
71+
<&dsi0_phy 0>,
72+
<&dsi0_phy 1>,
73+
<&dsi1_phy 1>,
74+
<&dp_phy 0>,
75+
<&dp_phy 1>,
76+
<&gcc GCC_DISP_AHB_CLK>;
77+
clock-names = "bi_tcxo",
78+
"dsi0_phy_pll_out_byteclk",
79+
"dsi0_phy_pll_out_dsiclk",
80+
"dsi1_phy_pll_out_dsiclk",
81+
"dp_phy_pll_link_clk",
82+
"dp_phy_pll_vco_div_clk",
83+
"cfg_ahb_clk";
84+
#clock-cells = <1>;
85+
#power-domain-cells = <1>;
86+
};
87+
...
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
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,dispcc-sm6350.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Display Clock & Reset Controller Binding for SM6350
8+
9+
maintainers:
10+
- Konrad Dybcio <konrad.dybcio@somainline.org>
11+
12+
description: |
13+
Qualcomm display clock control module which supports the clocks, resets and
14+
power domains on SM6350.
15+
16+
See also dt-bindings/clock/qcom,dispcc-sm6350.h.
17+
18+
properties:
19+
compatible:
20+
const: qcom,sm6350-dispcc
21+
22+
clocks:
23+
items:
24+
- description: Board XO source
25+
- description: GPLL0 source from GCC
26+
- description: Byte clock from DSI PHY
27+
- description: Pixel clock from DSI PHY
28+
- description: Link clock from DP PHY
29+
- description: VCO DIV clock from DP PHY
30+
31+
clock-names:
32+
items:
33+
- const: bi_tcxo
34+
- const: gcc_disp_gpll0_clk
35+
- const: dsi0_phy_pll_out_byteclk
36+
- const: dsi0_phy_pll_out_dsiclk
37+
- const: dp_phy_pll_link_clk
38+
- const: dp_phy_pll_vco_div_clk
39+
40+
'#clock-cells':
41+
const: 1
42+
43+
'#reset-cells':
44+
const: 1
45+
46+
'#power-domain-cells':
47+
const: 1
48+
49+
reg:
50+
maxItems: 1
51+
52+
required:
53+
- compatible
54+
- reg
55+
- clocks
56+
- clock-names
57+
- '#clock-cells'
58+
- '#reset-cells'
59+
- '#power-domain-cells'
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/clock/qcom,gcc-sm6350.h>
66+
#include <dt-bindings/clock/qcom,rpmh.h>
67+
clock-controller@af00000 {
68+
compatible = "qcom,sm6350-dispcc";
69+
reg = <0x0af00000 0x20000>;
70+
clocks = <&rpmhcc RPMH_CXO_CLK>,
71+
<&gcc GCC_DISP_GPLL0_CLK>,
72+
<&dsi_phy 0>,
73+
<&dsi_phy 1>,
74+
<&dp_phy 0>,
75+
<&dp_phy 1>;
76+
clock-names = "bi_tcxo",
77+
"gcc_disp_gpll0_clk",
78+
"dsi0_phy_pll_out_byteclk",
79+
"dsi0_phy_pll_out_dsiclk",
80+
"dp_phy_pll_link_clk",
81+
"dp_phy_pll_vco_div_clk";
82+
#clock-cells = <1>;
83+
#reset-cells = <1>;
84+
#power-domain-cells = <1>;
85+
};
86+
...

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

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
66

77
title: Qualcomm Global Clock & Reset Controller Binding for APQ8064
88

9+
allOf:
10+
- $ref: qcom,gcc.yaml#
11+
912
maintainers:
1013
- Stephen Boyd <sboyd@kernel.org>
1114
- Taniya Das <tdas@codeaurora.org>
@@ -17,22 +20,12 @@ description: |
1720
See also:
1821
- dt-bindings/clock/qcom,gcc-msm8960.h
1922
- dt-bindings/reset/qcom,gcc-msm8960.h
23+
- dt-bindings/clock/qcom,gcc-apq8084.h
24+
- dt-bindings/reset/qcom,gcc-apq8084.h
2025
2126
properties:
2227
compatible:
23-
const: qcom,gcc-apq8064
24-
25-
'#clock-cells':
26-
const: 1
27-
28-
'#reset-cells':
29-
const: 1
30-
31-
'#power-domain-cells':
32-
const: 1
33-
34-
reg:
35-
maxItems: 1
28+
const: qcom,gcc-apq8084
3629

3730
nvmem-cells:
3831
minItems: 1
@@ -53,21 +46,13 @@ properties:
5346
'#thermal-sensor-cells':
5447
const: 1
5548

56-
protected-clocks:
57-
description:
58-
Protected clock specifier list as per common clock binding.
59-
6049
required:
6150
- compatible
62-
- reg
63-
- '#clock-cells'
64-
- '#reset-cells'
65-
- '#power-domain-cells'
6651
- nvmem-cells
6752
- nvmem-cell-names
6853
- '#thermal-sensor-cells'
6954

70-
additionalProperties: false
55+
unevaluatedProperties: false
7156

7257
examples:
7358
- |
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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,gcc-ipq8064.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global Clock & Reset Controller Binding for IPQ8064
8+
9+
allOf:
10+
- $ref: qcom,gcc.yaml#
11+
12+
maintainers:
13+
- Ansuel Smith <ansuelsmth@gmail.com>
14+
15+
description: |
16+
Qualcomm global clock control module which supports the clocks, resets and
17+
power domains on IPQ8064.
18+
19+
See also:
20+
- dt-bindings/clock/qcom,gcc-ipq806x.h (qcom,gcc-ipq8064)
21+
- dt-bindings/reset/qcom,gcc-ipq806x.h (qcom,gcc-ipq8064)
22+
23+
properties:
24+
compatible:
25+
items:
26+
- const: qcom,gcc-ipq8064
27+
- const: syscon
28+
29+
clocks:
30+
items:
31+
- description: PXO source
32+
- description: CXO source
33+
34+
clock-names:
35+
items:
36+
- const: pxo
37+
- const: cxo
38+
39+
thermal-sensor:
40+
type: object
41+
42+
allOf:
43+
- $ref: /schemas/thermal/qcom-tsens.yaml#
44+
45+
required:
46+
- compatible
47+
- clocks
48+
- clock-names
49+
50+
unevaluatedProperties: false
51+
52+
examples:
53+
- |
54+
#include <dt-bindings/interrupt-controller/arm-gic.h>
55+
56+
gcc: clock-controller@900000 {
57+
compatible = "qcom,gcc-ipq8064", "syscon";
58+
reg = <0x00900000 0x4000>;
59+
clocks = <&pxo_board>, <&cxo_board>;
60+
clock-names = "pxo", "cxo";
61+
#clock-cells = <1>;
62+
#reset-cells = <1>;
63+
#power-domain-cells = <1>;
64+
65+
tsens: thermal-sensor {
66+
compatible = "qcom,ipq8064-tsens";
67+
68+
nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
69+
nvmem-cell-names = "calib", "calib_backup";
70+
interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
71+
interrupt-names = "uplow";
72+
73+
#qcom,sensors = <11>;
74+
#thermal-sensor-cells = <1>;
75+
};
76+
};

0 commit comments

Comments
 (0)