Skip to content

Commit e81507a

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: "Nothing looks out of the ordinary in this batch of clk driver updates. There are a couple patches to the core clk framework, but they're all basically cleanups or debugging aids. The driver updates and new additions are dominated in the diffstat by Qualcomm and MediaTek drivers. Qualcomm gained a handful of new drivers for various SoCs, and MediaTek gained a bunch of drivers for MT8188. The MediaTek drivers are being modernized as well, so there are updates all over that vendor's clk drivers. There's also a couple other new clk drivers in here, for example the Starfive JH7110 SoC support is added. Outside of the two major SoC vendors though, we have the usual collection of non-critical fixes and cleanups to various clk drivers. It's good to see that we're getting more cleanups and modernization patches. Maybe one day we'll be able to properly split clk providers from clk consumers. Core: - Print an informational message before disabling unused clks New Drivers: - BCM63268 timer clock and reset controller - Frequency Hopping (FHCTL) on MediaTek MT6795, MT8173, MT8192 and MT8195 SoCs - Mediatek MT8188 SoC clk drivers - Clock driver for Sunplus SP7021 SoC - Clk driver support for Loongson-2 SoCs - Clock driver for Skyworks Si521xx I2C PCIe clock generators - Initial Starfive JH7110 clk/reset support - Global clock controller drivers for Qualcomm SM7150, IPQ9574, MSM8917 and IPQ5332 SoCs - GPU clock controller drivers for SM6115, SM6125, SM6375 and SA8775P SoCs Updates: - Shrink size of clk_fractional_divider a little - Convert various clk drivers to devm_of_clk_add_hw_provider() - Convert platform clk drivers to remove_new() - Converted most Mediatek clock drivers to struct platform_driver - MediaTek clock drivers can be built as modules - Reimplement Loongson-1 clk driver with DT support - Migrate socfpga clk driver to of_clk_add_hw_provider() - Support for i3c clks on Aspeed ast2600 SoCs - Add clock generic devm_clk_hw_register_gate_parent_data - Add audiomix block control for i.MX8MP - Add support for determine_rate to i.MX composite-8m - Let the LCDIF Pixel clock of i.MX8MM and i.MX8MN set parent rate - Provide clock name in error message for clk-gpr-mux on get parent failure - Drop duplicate imx_clk_mux_flags macro - Register the i.MX8MP Media Disp2 Pix clock as bus clock - Add Media LDB root clock to i.MX8MP - Make i.MX8MP nand_usdhc_bus clock as non-critical - Fix the rate table for i.MX fracn-gppll - Disable HW control for the fracn-gppll in order to be controlled by register write - Add support for interger PLL in fracn-gppll - Add mcore_booted module parameter to i.MX93 provider - Add NIC, A55 and ARM PLL clocks to i.MX93 - Fix i.MX8ULP XBAR_DIVBUS and AD_SLOW clock parents - Use "divider closest" clock type for PLL4_PFD dividers on i.MX8ULP to get more accurate clock rates - Mark the MU0_Bi and TPM5 clocks on i.MX8ULP as critical - Update some of the i.MX critical clocks flags to allow glitchless on-the-fly rate change. - Add I2C5 clock on Renesas R-Car V3H - Exynos850: Add CMU_G3D clock controller for the Mali GPU - Extract Exynos5433 (ARM64) clock controller power management code to common driver parts - Exynos850: make PMU_ALIVE_PCLK clock critical - Add Audio, thermal, camera (CSI-2), Image Signal Processor/Channel Selector (ISPCS), and video capture (VIN) clocks on Renesas R-Car V4H - Add video capture (VIN) clocks on Renesas R-Car V3H - Add Cortex-A53 System CPU (Z2) clocks on Renesas R-Car V3M and V3H - Support for Stromer Plus PLL on Qualcomm IPQ5332 - Add a missing reset to Qualcomm QCM2290 - Migrate Qualcomm IPQ4019 to clk_parent_data - Make USB GDSCs enter retention state when disabled on Qualcomm SM6375, MSM8996 and MSM8998 SoCs - Set floor rounding clk_ops for Qualcomm QCM2290 SDCC2 clk - Add two EMAC GDSCs on Qualcomm SC8280XP - Use shared rcg clk ops in Qualcomm SM6115 GCC - Park Qualcomm SM8350 PCIe PIPE clks when disabled - Add GDSCs to Qualcomm SC7280 LPASS audio clock controller - Add missing XO clocks to Qualcomm MSM8226 and MSM8974 - Convert some Qualcomm clk DT bindings to YAML - Reparenting fix for the clock supplying camera modules on Rockchip rk3399 - Mark more critical (bus-)clocks on Rockchip rk3588" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (290 commits) clk: qcom: gcc-sc8280xp: Add EMAC GDSCs clk: starfive: Delete the redundant dev_set_drvdata() in JH7110 clock drivers clk: rockchip: rk3588: make gate linked clocks critical clk: qcom: dispcc-qcm2290: Remove inexistent DSI1PHY clk clk: qcom: add the GPUCC driver for sa8775p dt-bindings: clock: qcom: describe the GPUCC clock for SA8775P clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling clk: qcom: lpassaudiocc-sc7280: Add required gdsc power domain clks in lpass_cc_sc7280_desc clk: qcom: lpasscc-sc7280: Skip qdsp6ss clock registration dt-bindings: clock: qcom,sc7280-lpasscc: Add qcom,adsp-pil-mode property clk: starfive: Avoid casting iomem pointers clk: microchip: fix potential UAF in auxdev release callback clk: qcom: rpm: Use managed `of_clk_add_hw_provider()` clk: mediatek: fhctl: Mark local variables static clk: sifive: make SiFive clk drivers depend on ARCH_ symbols clk: uniphier: Use managed `of_clk_add_hw_provider()` clk: si5351: Use managed `of_clk_add_hw_provider()` clk: si570: Use managed `of_clk_add_hw_provider()` clk: si514: Use managed `of_clk_add_hw_provider()` clk: lmk04832: Use managed `of_clk_add_hw_provider()` ...
2 parents af38772 + a986397 commit e81507a

383 files changed

Lines changed: 32342 additions & 7636 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.

Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt

Lines changed: 0 additions & 49 deletions
This file was deleted.

Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/brcm,bcm63268-timer-clocks.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Broadcom BCM63268 Timer Clock and Reset Device Tree Bindings
8+
9+
maintainers:
10+
- Álvaro Fernández Rojas <noltari@gmail.com>
11+
12+
properties:
13+
compatible:
14+
const: brcm,bcm63268-timer-clocks
15+
16+
reg:
17+
maxItems: 1
18+
19+
"#clock-cells":
20+
const: 1
21+
22+
"#reset-cells":
23+
const: 1
24+
25+
required:
26+
- compatible
27+
- reg
28+
- "#clock-cells"
29+
- "#reset-cells"
30+
31+
additionalProperties: false
32+
33+
examples:
34+
- |
35+
timer_clk: clock-controller@100000ac {
36+
compatible = "brcm,bcm63268-timer-clocks";
37+
reg = <0x100000ac 0x4>;
38+
#clock-cells = <1>;
39+
#reset-cells = <1>;
40+
};
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/imx8mp-audiomix.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NXP i.MX8MP AudioMIX Block Control Binding
8+
9+
maintainers:
10+
- Marek Vasut <marex@denx.de>
11+
12+
description: |
13+
NXP i.MX8M Plus AudioMIX is dedicated clock muxing and gating IP
14+
used to control Audio related clock on the SoC.
15+
16+
properties:
17+
compatible:
18+
const: fsl,imx8mp-audio-blk-ctrl
19+
20+
reg:
21+
maxItems: 1
22+
23+
power-domains:
24+
maxItems: 1
25+
26+
clocks:
27+
minItems: 7
28+
maxItems: 7
29+
30+
clock-names:
31+
items:
32+
- const: ahb
33+
- const: sai1
34+
- const: sai2
35+
- const: sai3
36+
- const: sai5
37+
- const: sai6
38+
- const: sai7
39+
40+
'#clock-cells':
41+
const: 1
42+
description:
43+
The clock consumer should specify the desired clock by having the clock
44+
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mp-clock.h
45+
for the full list of i.MX8MP IMX8MP_CLK_AUDIOMIX_ clock IDs.
46+
47+
required:
48+
- compatible
49+
- reg
50+
- clocks
51+
- clock-names
52+
- power-domains
53+
- '#clock-cells'
54+
55+
additionalProperties: false
56+
57+
examples:
58+
# Clock Control Module node:
59+
- |
60+
#include <dt-bindings/clock/imx8mp-clock.h>
61+
62+
clock-controller@30e20000 {
63+
compatible = "fsl,imx8mp-audio-blk-ctrl";
64+
reg = <0x30e20000 0x10000>;
65+
#clock-cells = <1>;
66+
clocks = <&clk IMX8MP_CLK_AUDIO_ROOT>,
67+
<&clk IMX8MP_CLK_SAI1>,
68+
<&clk IMX8MP_CLK_SAI2>,
69+
<&clk IMX8MP_CLK_SAI3>,
70+
<&clk IMX8MP_CLK_SAI5>,
71+
<&clk IMX8MP_CLK_SAI6>,
72+
<&clk IMX8MP_CLK_SAI7>;
73+
clock-names = "ahb",
74+
"sai1", "sai2", "sai3",
75+
"sai5", "sai6", "sai7";
76+
power-domains = <&pgc_audio>;
77+
};
78+
79+
...
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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,ls1x-clk.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Loongson-1 Clock Controller
8+
9+
maintainers:
10+
- Keguang Zhang <keguang.zhang@gmail.com>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- loongson,ls1b-clk
16+
- loongson,ls1c-clk
17+
18+
reg:
19+
maxItems: 1
20+
21+
clocks:
22+
maxItems: 1
23+
24+
"#clock-cells":
25+
const: 1
26+
27+
required:
28+
- compatible
29+
- reg
30+
- clocks
31+
- "#clock-cells"
32+
33+
additionalProperties: false
34+
35+
examples:
36+
- |
37+
clkc: clock-controller@1fe78030 {
38+
compatible = "loongson,ls1b-clk";
39+
reg = <0x1fe78030 0x8>;
40+
41+
clocks = <&xtal>;
42+
#clock-cells = <1>;
43+
};
44+
45+
...

Documentation/devicetree/bindings/clock/mediatek,mt8186-fhctl.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@ description: |
1616
1717
properties:
1818
compatible:
19-
const: mediatek,mt8186-fhctl
19+
enum:
20+
- mediatek,mt6795-fhctl
21+
- mediatek,mt8173-fhctl
22+
- mediatek,mt8186-fhctl
23+
- mediatek,mt8192-fhctl
24+
- mediatek,mt8195-fhctl
2025

2126
reg:
2227
maxItems: 1
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/mediatek,mt8188-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek Functional Clock Controller for MT8188
8+
9+
maintainers:
10+
- Garmin Chang <garmin.chang@mediatek.com>
11+
12+
description: |
13+
The clock architecture in MediaTek like below
14+
PLLs -->
15+
dividers -->
16+
muxes
17+
-->
18+
clock gate
19+
20+
The devices provide clock gate control in different IP blocks.
21+
22+
properties:
23+
compatible:
24+
enum:
25+
- mediatek,mt8188-adsp-audio26m
26+
- mediatek,mt8188-camsys
27+
- mediatek,mt8188-camsys-rawa
28+
- mediatek,mt8188-camsys-rawb
29+
- mediatek,mt8188-camsys-yuva
30+
- mediatek,mt8188-camsys-yuvb
31+
- mediatek,mt8188-ccusys
32+
- mediatek,mt8188-imgsys
33+
- mediatek,mt8188-imgsys-wpe1
34+
- mediatek,mt8188-imgsys-wpe2
35+
- mediatek,mt8188-imgsys-wpe3
36+
- mediatek,mt8188-imgsys1-dip-nr
37+
- mediatek,mt8188-imgsys1-dip-top
38+
- mediatek,mt8188-imp-iic-wrap-c
39+
- mediatek,mt8188-imp-iic-wrap-en
40+
- mediatek,mt8188-imp-iic-wrap-w
41+
- mediatek,mt8188-ipesys
42+
- mediatek,mt8188-mfgcfg
43+
- mediatek,mt8188-vdecsys
44+
- mediatek,mt8188-vdecsys-soc
45+
- mediatek,mt8188-vencsys
46+
- mediatek,mt8188-vppsys0
47+
- mediatek,mt8188-vppsys1
48+
- mediatek,mt8188-wpesys
49+
- mediatek,mt8188-wpesys-vpp0
50+
51+
reg:
52+
maxItems: 1
53+
54+
'#clock-cells':
55+
const: 1
56+
57+
required:
58+
- compatible
59+
- reg
60+
- '#clock-cells'
61+
62+
additionalProperties: false
63+
64+
examples:
65+
- |
66+
clock-controller@11283000 {
67+
compatible = "mediatek,mt8188-imp-iic-wrap-c";
68+
reg = <0x11283000 0x1000>;
69+
#clock-cells = <1>;
70+
};
71+

0 commit comments

Comments
 (0)