Skip to content

Commit 1ec35ea

Browse files
committed
Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk updates from Stephen Boyd: "We have one small patch to the clk core this time around. It fixes a corner case with the CLK_OPS_PARENT_ENABLE flag combined with clk_core_is_enabled() where it hangs the system. We'll simply assume the clk is disabled if the parent is disabled and the flag is set. Trying to turn on the parent to check the enable state of the clk runs into system hangs at boot. We let this bake in -next for a couple weeks to make sure there aren't any more issues because the last attempt to fix this ran into hangs and had to be reverted. Note: There were some more patches to the core framework around sync_state and disabling unused clks, but I asked for that to be reverted from the qcom PR because it isn't ready and we're still discussing the best solution on the list. Outside of the core clk framework, we have the usual collection of clk driver updates and support for new SoCs (which seems to never stop). The dirstat is dominated by Qualcomm because they added support for quite a few SoCs this time around and also migrated quite a few of their drivers to clk_parent_data. The other big diff is in the Mediatek clk drivers that saw a significant rework this cycle to similarly modernize the code, and we'll see that work continue in the next cycle as well. Nothing really jumps out as scary here, except that the significant churn in parent data descriptions can have typos that go unnoticed. More details below. Core: - Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled() New Drivers: - Add a new clk-gpr-mux clock type and use it on i.MX6Q to add ENET ref clocks - Support for Mediatek MT7891 SoC clks - Support for many Qualcomm clk controllers: - QDU1000/QRU1000 global clock controller - SA8775P global clock controller - SM8550 TCSR and display clock controller - SM6350 clock controller - MSM8996 CBF and APCS clock controllers Updates: - Various cleanups and improvements to Mediatek clk drivers to reduce code size and modernize the drivers - Support for Versa 5P49V60 clks - Disable R-Car H3 ES1.*, as it was only available to an internal development group and needed a lot of quirks and workarounds - Add PWM, Compare-Match Timer (TIM), USB, SDHI, and eMMC clocks and resets on Renesas RZ/V2M - Add display clocks on Renesas R-Car V4H - Add Camera Receiving Unit (CRU) clocks and resets on Renesas RZ/G2L - Free the imx_uart_clocks even if imx_register_uart_clocks returns early - Get the stdout clocks count from device tree on i.MX - Drop the clock count argument from imx_register_uart_clocks() - Keep the uart clocks on i.MX93 for when earlycon is used - Fix SPDX comment in i.MX6SLL clocks bindings header - Drop some unnecessary spaces from i.MX8ULP clocks bindings header - Add imx_obtain_fixed_of_clock() for allowing to add a clock that is not configured via devicetree - Fix the ENET1 gate configuration for i.MX6UL according to the reference manual - Add ENET refclock mux support for i.MX6UL - Add support for USB host/device configuration on Renesas RZ/N1 - Add PLL2 programming support, and CAN-FD clocks on Renesas R-Car V4H - Add D1 CAN bus gates and resets for Allwinner - Mark D1 CPUX clock as critical on Allwinner - Reuse D1 driver for Allwinner R528/T113 - Cleanup sunxi-ng Kconfig - Fix sunxi-ng kernel-doc issues - Model Allwinner H3/H5 DRAM clock as fixed clock - Use .determine_rate() instead of .round_rate() for the dualdiv, mpll, sclk-div and cpu-dyn-div amlogic clock drivers - DDR clocks were marked as critical in the proper clock driver for each AT91 SoC such that drivers/memory/atmel-sdramc.c to be deleted in the next releases as it only does clock enablement - Patch to avoid compiling dt-compat.o for all AT91 SoCs as only some of them may use it - Support synchronous power_off requests in the qcom GDSC driver for proper GPU power collapse - Drop test clocks from various Qualcomm clk drivers - Update parent references to use clk_parent_data/clk_hw in various Qualcomm clk drivers - Fixes for the Qualcomm MSM8996 CPU clock controller - Transition Qualcomm MSM8974 GCC off the externally defined sleep_clk - Add GDSCs in the global clock controller for Qualcomm QCS404 - The SDCC core clocks on Qualcomm SM6115 are moved to floor_ops - Programming of clk_dis_wait for GPU CX GDSC on Qualcomm SC7180 and SDM845 are moved to use the recently introduced properties in the GDSC struct - Qualcomm's RPMh clock driver gains SM8550 and SA8775P clocks, and the IPA clock is added on a variety of platforms - De-duplicate identical clks in Qualcomm SMD RPM clk driver - Add a few missing clocks across msm8998, msm8992, msm8916, qcs404 to Qualcomm SDM RPM clk driver - Various Qualcomm clk drivers use devm_pm_runtime_enable() to simplify" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (228 commits) clk: qcom: apcs-msm8986: Include bitfield.h for FIELD_PREP clk: qcom: Revert sync_state based clk_disable_unused clk: imx: pll14xx: fix recalc_rate for negative kdiv clk: rs9: Drop unused pin_xin field MAINTAINERS: clk: imx: Add Peng Fan as reviewer clk: sprd: Add dependency for SPRD_UMS512_CLK clk: ralink: fix 'mt7621_gate_is_enabled()' function clk: mediatek: clk-mtk: Remove unneeded semicolon dt-bindings: clock: remove stih416 bindings dt-bindings: clock: add loongson-2 clock dt-bindings: clock: add loongson-2 clock include file clk: imx: fix compile testing imxrt1050 clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled() clk: imx: set imx_clk_gpr_mux_ops storage-class-specifier to static clk: renesas: rcar-gen3: Disable R-Car H3 ES1.* 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 ...
2 parents 562ed38 + b64baaf commit 1ec35ea

File tree

249 files changed

+19934
-6313
lines changed

Some content is hidden

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

249 files changed

+19934
-6313
lines changed

Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Required Properties:
1010
- "mediatek,mt7622-ethsys", "syscon"
1111
- "mediatek,mt7623-ethsys", "mediatek,mt2701-ethsys", "syscon"
1212
- "mediatek,mt7629-ethsys", "syscon"
13+
- "mediatek,mt7981-ethsys", "syscon"
1314
- "mediatek,mt7986-ethsys", "syscon"
1415
- #clock-cells: Must be 1
1516
- #reset-cells: Must be 1

Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ properties:
2828
- mediatek,mt6797-infracfg
2929
- mediatek,mt7622-infracfg
3030
- mediatek,mt7629-infracfg
31+
- mediatek,mt7981-infracfg
3132
- mediatek,mt7986-infracfg
3233
- mediatek,mt8135-infracfg
3334
- mediatek,mt8167-infracfg

Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8195-clock.yaml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,9 @@ properties:
2828
- mediatek,mt8195-imp_iic_wrap_s
2929
- mediatek,mt8195-imp_iic_wrap_w
3030
- mediatek,mt8195-mfgcfg
31-
- mediatek,mt8195-vppsys0
3231
- mediatek,mt8195-wpesys
3332
- mediatek,mt8195-wpesys_vpp0
3433
- mediatek,mt8195-wpesys_vpp1
35-
- mediatek,mt8195-vppsys1
3634
- mediatek,mt8195-imgsys
3735
- mediatek,mt8195-imgsys1_dip_top
3836
- mediatek,mt8195-imgsys1_dip_nr
@@ -92,13 +90,6 @@ examples:
9290
#clock-cells = <1>;
9391
};
9492
95-
- |
96-
vppsys0: clock-controller@14000000 {
97-
compatible = "mediatek,mt8195-vppsys0";
98-
reg = <0x14000000 0x1000>;
99-
#clock-cells = <1>;
100-
};
101-
10293
- |
10394
wpesys: clock-controller@14e00000 {
10495
compatible = "mediatek,mt8195-wpesys";
@@ -120,13 +111,6 @@ examples:
120111
#clock-cells = <1>;
121112
};
122113
123-
- |
124-
vppsys1: clock-controller@14f00000 {
125-
compatible = "mediatek,mt8195-vppsys1";
126-
reg = <0x14f00000 0x1000>;
127-
#clock-cells = <1>;
128-
};
129-
130114
- |
131115
imgsys: clock-controller@15000000 {
132116
compatible = "mediatek,mt8195-imgsys";

Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Required Properties:
88
- compatible: Should be:
99
- "mediatek,mt7622-sgmiisys", "syscon"
1010
- "mediatek,mt7629-sgmiisys", "syscon"
11+
- "mediatek,mt7981-sgmiisys_0", "syscon"
12+
- "mediatek,mt7981-sgmiisys_1", "syscon"
1113
- "mediatek,mt7986-sgmiisys_0", "syscon"
1214
- "mediatek,mt7986-sgmiisys_1", "syscon"
1315
- #clock-cells: Must be 1

Documentation/devicetree/bindings/clock/idt,versaclock5.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ properties:
5454
- idt,5p49v5925
5555
- idt,5p49v5933
5656
- idt,5p49v5935
57+
- idt,5p49v60
5758
- idt,5p49v6901
5859
- idt,5p49v6965
5960
- idt,5p49v6975

Documentation/devicetree/bindings/clock/imx8m-clock.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ examples:
108108
};
109109
110110
- |
111-
clock-controller@30390000 {
111+
clock-controller@30380000 {
112112
compatible = "fsl,imx8mq-ccm";
113113
reg = <0x30380000 0x10000>;
114114
#clock-cells = <1>;
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/loongson,ls2k-clk.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Loongson-2 SoC Clock Control Module
8+
9+
maintainers:
10+
- Yinbo Zhu <[email protected]>
11+
12+
description: |
13+
Loongson-2 SoC clock control module is an integrated clock controller, which
14+
generates and supplies to all modules.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- loongson,ls2k-clk
20+
21+
reg:
22+
maxItems: 1
23+
24+
clocks:
25+
items:
26+
- description: 100m ref
27+
28+
clock-names:
29+
items:
30+
- const: ref_100m
31+
32+
'#clock-cells':
33+
const: 1
34+
description:
35+
The clock consumer should specify the desired clock by having the clock
36+
ID in its "clocks" phandle cell. See include/dt-bindings/clock/loongson,ls2k-clk.h
37+
for the full list of Loongson-2 SoC clock IDs.
38+
39+
required:
40+
- compatible
41+
- reg
42+
- clocks
43+
- clock-names
44+
- '#clock-cells'
45+
46+
additionalProperties: false
47+
48+
examples:
49+
- |
50+
ref_100m: clock-ref-100m {
51+
compatible = "fixed-clock";
52+
#clock-cells = <0>;
53+
clock-frequency = <100000000>;
54+
clock-output-names = "ref_100m";
55+
};
56+
57+
clk: clock-controller@1fe00480 {
58+
compatible = "loongson,ls2k-clk";
59+
reg = <0x1fe00480 0x58>;
60+
#clock-cells = <1>;
61+
clocks = <&ref_100m>;
62+
clock-names = "ref_100m";
63+
};

Documentation/devicetree/bindings/clock/mediatek,apmixedsys.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ properties:
2020
- enum:
2121
- mediatek,mt6797-apmixedsys
2222
- mediatek,mt7622-apmixedsys
23+
- mediatek,mt7981-apmixedsys
2324
- mediatek,mt7986-apmixedsys
2425
- mediatek,mt8135-apmixedsys
2526
- mediatek,mt8173-apmixedsys

Documentation/devicetree/bindings/clock/mediatek,topckgen.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ properties:
3535
- mediatek,mt6779-topckgen
3636
- mediatek,mt6795-topckgen
3737
- mediatek,mt7629-topckgen
38+
- mediatek,mt7981-topckgen
3839
- mediatek,mt7986-topckgen
3940
- mediatek,mt8167-topckgen
4041
- mediatek,mt8183-topckgen

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>;

0 commit comments

Comments
 (0)