Skip to content

Commit 7fbabe8

Browse files
committed
Merge tag 'qcom-clk-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom
Pull Qualcomm clk driver updates from Bjorn Andersson: - Convert clock dividers from round_rate() to determine_rate() - Add support for global, tcsr, rpmh, display, gpu, camera, and video clock controllers for Kaanapali - Add support for camera clock controller for SM8750 - Fix the SDCC RCGs to use shared_floor_ops across a variety of platforms - Add support for global clock controller on MSM8940 and SDM439 * tag 'qcom-clk-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (49 commits) clk: qcom: sm8750: Constify 'qcom_cc_desc' in SM8750 camcc clk: qcom: gfx3d: add parent to parent request map clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk1_clk_src clk: qcom: dispcc-sdm845: Enable parents for pixel clocks clk: qcom: regmap-divider: convert from divider_round_rate() to divider_determine_rate() clk: qcom: regmap-divider: convert from divider_ro_round_rate() to divider_ro_determine_rate() clk: qcom: alpha-pll: convert from divider_round_rate() to divider_determine_rate() clk: qcom: Add support for GPUCC and GXCLK for Kaanapali clk: qcom: Add support for VideoCC driver for Kaanapali clk: qcom: camcc: Add support for camera clock controller for Kaanapali clk: qcom: dispcc: Add support for display clock controller Kaanapali clk: qcom: clk-alpha-pll: Add support for controlling Pongo EKO_T PLL clk: qcom: clk-alpha-pll: Update the PLL support for cal_l clk: qcom: camcc: Add camera clock controller driver for SM8750 SoC clk: qcom: clk-alpha-pll: Add support for controlling Rivian PLL dt-bindings: clock: qcom: document the Kaanapali GPU Clock Controller dt-bindings: clock: qcom: Add Kaanapali video clock controller dt-bindings: clock: qcom: Add support for CAMCC for Kaanapali dt-bindings: clock: qcom: document Kaanapali DISPCC clock controller dt-bindings: clock: qcom: Add camera clock controller for SM8750 SoC ...
2 parents 8f0b4cc + 012e012 commit 7fbabe8

50 files changed

Lines changed: 14504 additions & 79 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,gcc-msm8953.yaml

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

7-
title: Qualcomm Global Clock & Reset Controller on MSM8953
7+
title: Qualcomm Global Clock & Reset Controller on MSM8937, MSM8940, MSM8953 and SDM439
88

99
maintainers:
1010
- Adam Skladowski <a_skl39@protonmail.com>
@@ -13,7 +13,7 @@ maintainers:
1313

1414
description: |
1515
Qualcomm global clock control module provides the clocks, resets and power
16-
domains on MSM8937 or MSM8953.
16+
domains on MSM8937, MSM8940, MSM8953 or SDM439.
1717
1818
See also::
1919
include/dt-bindings/clock/qcom,gcc-msm8917.h
@@ -23,7 +23,9 @@ properties:
2323
compatible:
2424
enum:
2525
- qcom,gcc-msm8937
26+
- qcom,gcc-msm8940
2627
- qcom,gcc-msm8953
28+
- qcom,gcc-sdm439
2729

2830
clocks:
2931
items:
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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,kaanapali-gxclkctl.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Graphics power domain Controller on Kaanapali
8+
9+
maintainers:
10+
- Taniya Das <taniya.das@oss.qualcomm.com>
11+
12+
description: |
13+
Qualcomm GX(graphics) is a clock controller which has PLLs, clocks and
14+
Power domains (GDSC). This module provides the power domains control
15+
of gxclkctl on Qualcomm SoCs which helps the recovery of Graphics subsystem.
16+
17+
See also:
18+
include/dt-bindings/clock/qcom,kaanapali-gxclkctl.h
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- qcom,kaanapali-gxclkctl
24+
25+
power-domains:
26+
description:
27+
Power domains required for the clock controller to operate
28+
items:
29+
- description: GFX power domain
30+
- description: GMXC power domain
31+
- description: GPUCC(CX) power domain
32+
33+
'#power-domain-cells':
34+
const: 1
35+
36+
reg:
37+
maxItems: 1
38+
39+
required:
40+
- compatible
41+
- reg
42+
- power-domains
43+
- '#power-domain-cells'
44+
45+
unevaluatedProperties: false
46+
47+
examples:
48+
- |
49+
#include <dt-bindings/power/qcom,rpmhpd.h>
50+
soc {
51+
#address-cells = <2>;
52+
#size-cells = <2>;
53+
54+
clock-controller@3d64000 {
55+
compatible = "qcom,kaanapali-gxclkctl";
56+
reg = <0x0 0x03d64000 0x0 0x6000>;
57+
power-domains = <&rpmhpd RPMHPD_GFX>,
58+
<&rpmhpd RPMHPD_GMXC>,
59+
<&gpucc 0>;
60+
#power-domain-cells = <1>;
61+
};
62+
};
63+
...

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,32 @@ title: Qualcomm Camera Clock & Reset Controller on SM8450
99
maintainers:
1010
- Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
1111
- Jagadeesh Kona <quic_jkona@quicinc.com>
12+
- Taniya Das <taniya.das@oss.qualcomm.com>
1213

1314
description: |
1415
Qualcomm camera clock control module provides the clocks, resets and power
1516
domains on SM8450.
1617
1718
See also:
19+
include/dt-bindings/clock/qcom,kaanapali-camcc.h
20+
include/dt-bindings/clock/qcom,kaanapali-cambistmclkcc.h
1821
include/dt-bindings/clock/qcom,sm8450-camcc.h
1922
include/dt-bindings/clock/qcom,sm8550-camcc.h
2023
include/dt-bindings/clock/qcom,sm8650-camcc.h
24+
include/dt-bindings/clock/qcom,sm8750-cambistmclkcc.h
25+
include/dt-bindings/clock/qcom,sm8750-camcc.h
2126
2227
properties:
2328
compatible:
2429
enum:
30+
- qcom,kaanapali-cambistmclkcc
31+
- qcom,kaanapali-camcc
2532
- qcom,sm8450-camcc
2633
- qcom,sm8475-camcc
2734
- qcom,sm8550-camcc
2835
- qcom,sm8650-camcc
36+
- qcom,sm8750-cambistmclkcc
37+
- qcom,sm8750-camcc
2938

3039
clocks:
3140
items:
@@ -63,6 +72,8 @@ allOf:
6372
compatible:
6473
contains:
6574
enum:
75+
- qcom,kaanapali-cambistmclkcc
76+
- qcom,kaanapali-camcc
6677
- qcom,sc8280xp-camcc
6778
- qcom,sm8450-camcc
6879
- qcom,sm8550-camcc

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ description: |
1414
domains on Qualcomm SoCs.
1515
1616
See also::
17+
include/dt-bindings/clock/qcom,kaanapali-gpucc.h
1718
include/dt-bindings/clock/qcom,milos-gpucc.h
1819
include/dt-bindings/clock/qcom,sar2130p-gpucc.h
1920
include/dt-bindings/clock/qcom,sm4450-gpucc.h
@@ -26,6 +27,7 @@ description: |
2627
properties:
2728
compatible:
2829
enum:
30+
- qcom,kaanapali-gpucc
2931
- qcom,milos-gpucc
3032
- qcom,sar2130p-gpucc
3133
- qcom,sm4450-gpucc

Documentation/devicetree/bindings/clock/qcom,sm8450-videocc.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ description: |
1515
domains on SM8450.
1616
1717
See also:
18+
include/dt-bindings/clock/qcom,kaanapali-videocc.h
1819
include/dt-bindings/clock/qcom,sm8450-videocc.h
1920
include/dt-bindings/clock/qcom,sm8650-videocc.h
2021
include/dt-bindings/clock/qcom,sm8750-videocc.h
2122
2223
properties:
2324
compatible:
2425
enum:
26+
- qcom,kaanapali-videocc
2527
- qcom,sm8450-videocc
2628
- qcom,sm8475-videocc
2729
- qcom,sm8550-videocc
@@ -61,6 +63,7 @@ allOf:
6163
compatible:
6264
contains:
6365
enum:
66+
- qcom,kaanapali-videocc
6467
- qcom,sm8450-videocc
6568
- qcom,sm8550-videocc
6669
- qcom,sm8750-videocc

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ description: |
1515
domains on SM8550, SM8650, SM8750 and few other platforms.
1616
1717
See also:
18+
- include/dt-bindings/clock/qcom,kaanapali-dispcc.h
1819
- include/dt-bindings/clock/qcom,sm8550-dispcc.h
1920
- include/dt-bindings/clock/qcom,sm8650-dispcc.h
2021
- include/dt-bindings/clock/qcom,sm8750-dispcc.h
@@ -23,6 +24,7 @@ description: |
2324
properties:
2425
compatible:
2526
enum:
27+
- qcom,kaanapali-dispcc
2628
- qcom,sar2130p-dispcc
2729
- qcom,sm8550-dispcc
2830
- qcom,sm8650-dispcc

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ properties:
6262
- description: USB4_1 PHY max PIPE clock source
6363
- description: USB4_2 PHY PCIE PIPE clock source
6464
- description: USB4_2 PHY max PIPE clock source
65+
- description: UFS PHY RX Symbol 0 clock source
66+
- description: UFS PHY RX Symbol 1 clock source
67+
- description: UFS PHY TX Symbol 0 clock source
6568

6669
power-domains:
6770
description:
@@ -121,7 +124,10 @@ examples:
121124
<&usb4_1_phy_pcie_pipe_clk>,
122125
<&usb4_1_phy_max_pipe_clk>,
123126
<&usb4_2_phy_pcie_pipe_clk>,
124-
<&usb4_2_phy_max_pipe_clk>;
127+
<&usb4_2_phy_max_pipe_clk>,
128+
<&ufs_phy_rx_symbol_0>,
129+
<&ufs_phy_rx_symbol_1>,
130+
<&ufs_phy_tx_symbol_0>;
125131
power-domains = <&rpmhpd RPMHPD_CX>;
126132
#clock-cells = <1>;
127133
#reset-cells = <1>;

drivers/clk/qcom/Kconfig

Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,61 @@ config CLK_GLYMUR_TCSRCC
4646
Support for the TCSR clock controller on GLYMUR devices.
4747
Say Y if you want to use peripheral devices such as USB/PCIe/EDP.
4848

49+
config CLK_KAANAPALI_CAMCC
50+
tristate "Kaanapali Camera Clock Controller"
51+
depends on ARM64 || COMPILE_TEST
52+
select CLK_KAANAPALI_GCC
53+
help
54+
Support for the camera clock controller on Qualcomm Technologies, Inc
55+
Kaanapali devices.
56+
Say Y if you want to support camera devices and functionality such as
57+
capturing pictures.
58+
59+
config CLK_KAANAPALI_DISPCC
60+
tristate "Kaanapali Display Clock Controller"
61+
depends on ARM64 || COMPILE_TEST
62+
select CLK_KAANAPALI_GCC
63+
help
64+
Support for the display clock controller on Qualcomm Technologies, Inc
65+
Kaanapali devices.
66+
Say Y if you want to support display devices and functionality such as
67+
splash screen.
68+
69+
config CLK_KAANAPALI_GCC
70+
tristate "Kaanapali Global Clock Controller"
71+
depends on ARM64 || COMPILE_TEST
72+
select QCOM_GDSC
73+
help
74+
Support for the global clock controller on Kaanapali devices.
75+
Say Y if you want to use peripheral devices such as UART,
76+
SPI, I2C, USB, SD/UFS, PCIe etc.
77+
78+
config CLK_KAANAPALI_GPUCC
79+
tristate "Kaanapali Graphics Clock Controller"
80+
depends on ARM64 || COMPILE_TEST
81+
select CLK_KAANAPALI_GCC
82+
help
83+
Support for the graphics clock controller on Kaanapali devices.
84+
Say Y if you want to support graphics controller devices and
85+
functionality such as 3D graphics.
86+
87+
config CLK_KAANAPALI_TCSRCC
88+
tristate "Kaanapali TCSR Clock Controller"
89+
depends on ARM64 || COMPILE_TEST
90+
select QCOM_GDSC
91+
help
92+
Support for the TCSR clock controller on Kaanapali devices.
93+
Say Y if you want to use peripheral devices such as PCIe, USB, UFS.
94+
95+
config CLK_KAANAPALI_VIDEOCC
96+
tristate "Kaanapali Video Clock Controller"
97+
depends on ARM64 || COMPILE_TEST
98+
select CLK_KAANAPALI_GCC
99+
help
100+
Support for the video clock controller on Kaanapali devices.
101+
Say Y if you want to support video devices and functionality such as
102+
video encode/decode.
103+
49104
config CLK_X1E80100_CAMCC
50105
tristate "X1E80100 Camera Clock Controller"
51106
depends on ARM64 || COMPILE_TEST
@@ -370,12 +425,12 @@ config MSM_GCC_8916
370425
SD/eMMC, display, graphics, camera etc.
371426

372427
config MSM_GCC_8917
373-
tristate "MSM89(17/37)/QM215 Global Clock Controller"
428+
tristate "MSM89(17/37/40)/QM215/SDM439 Global Clock Controller"
374429
depends on ARM64 || COMPILE_TEST
375430
select QCOM_GDSC
376431
help
377-
Support for the global clock controller on msm8917, msm8937
378-
and qm215 devices.
432+
Support for the global clock controller on msm8917, msm8937,
433+
msm8940, qm215 and sdm439 devices.
379434
Say Y if you want to use devices such as UART, SPI i2c, USB,
380435
SD/eMMC, display, graphics, camera etc.
381436

@@ -1069,6 +1124,16 @@ config SM_CAMCC_8650
10691124
Support for the camera clock controller on SM8650 devices.
10701125
Say Y if you want to support camera devices and camera functionality.
10711126

1127+
config SM_CAMCC_8750
1128+
tristate "SM8750 Camera Clock Controller"
1129+
depends on ARM64 || COMPILE_TEST
1130+
select SM_GCC_8750
1131+
help
1132+
Support for the camera clock controller on SM8750 devices.
1133+
The camera clock controller has a separate cambist controller which
1134+
controls the mclk of the camera clocks.
1135+
Say Y if you want to support camera devices and camera functionality.
1136+
10721137
config SM_DISPCC_4450
10731138
tristate "SM4450 Display Clock Controller"
10741139
depends on ARM64 || COMPILE_TEST

drivers/clk/qcom/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ obj-$(CONFIG_CLK_GFM_LPASS_SM8250) += lpass-gfm-sm8250.o
2424
obj-$(CONFIG_CLK_GLYMUR_DISPCC) += dispcc-glymur.o
2525
obj-$(CONFIG_CLK_GLYMUR_GCC) += gcc-glymur.o
2626
obj-$(CONFIG_CLK_GLYMUR_TCSRCC) += tcsrcc-glymur.o
27+
obj-$(CONFIG_CLK_KAANAPALI_CAMCC) += cambistmclkcc-kaanapali.o camcc-kaanapali.o
28+
obj-$(CONFIG_CLK_KAANAPALI_DISPCC) += dispcc-kaanapali.o
29+
obj-$(CONFIG_CLK_KAANAPALI_GCC) += gcc-kaanapali.o
30+
obj-$(CONFIG_CLK_KAANAPALI_GPUCC) += gpucc-kaanapali.o gxclkctl-kaanapali.o
31+
obj-$(CONFIG_CLK_KAANAPALI_TCSRCC) += tcsrcc-kaanapali.o
32+
obj-$(CONFIG_CLK_KAANAPALI_VIDEOCC) += videocc-kaanapali.o
2733
obj-$(CONFIG_CLK_X1E80100_CAMCC) += camcc-x1e80100.o
2834
obj-$(CONFIG_CLK_X1E80100_DISPCC) += dispcc-x1e80100.o
2935
obj-$(CONFIG_CLK_X1E80100_GCC) += gcc-x1e80100.o
@@ -136,6 +142,7 @@ obj-$(CONFIG_SM_CAMCC_8250) += camcc-sm8250.o
136142
obj-$(CONFIG_SM_CAMCC_8450) += camcc-sm8450.o
137143
obj-$(CONFIG_SM_CAMCC_8550) += camcc-sm8550.o
138144
obj-$(CONFIG_SM_CAMCC_8650) += camcc-sm8650.o
145+
obj-$(CONFIG_SM_CAMCC_8750) += cambistmclkcc-sm8750.o camcc-sm8750.o
139146
obj-$(CONFIG_SM_CAMCC_MILOS) += camcc-milos.o
140147
obj-$(CONFIG_SM_DISPCC_4450) += dispcc-sm4450.o
141148
obj-$(CONFIG_SM_DISPCC_6115) += dispcc-sm6115.o

0 commit comments

Comments
 (0)