Skip to content

Commit 8653b77

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: "The core framework got some nice improvements this time around. We gained the ability to get struct clk pointers from a struct clk_hw so that clk providers can consume the clks they provide, if they need to do something like that. This has been a long missing part of the clk provider API that will help us move away from exposing a struct clk pointer in the struct clk_hw. Tracepoints are added for the clk_set_rate() "range" functions, similar to the tracepoints we already have for clk_set_rate() and we added a column to debugfs to help developers understand the hardware enable state of clks in case firmware or bootloader state is different than what is expected. Overall the core changes are mostly improving the clk driver writing experience. At the driver level, we have the usual collection of driver updates and new drivers for new SoCs. This time around the Qualcomm folks introduced a good handful of clk drivers for various parts of three or four SoCs. The SiFive folks added a new clk driver for their FU740 SoCs, coming in second on the diffstat and then Atmel AT91 and Amlogic SoCs had lots of work done after that for various new features. One last thing to note in the driver area is that the i.MX driver has gained a new binding to support SCU clks after being on the list for many months. It uses a two cell binding which is sort of rare in clk DT bindings. Beyond that we have the usual set of driver fixes and tweaks that come from more testing and finding out that some configuration was wrong or that a driver could support being built as a module. Summary: Core: - Add some trace points for clk_set_rate() "range" functions - Add hardware enable information to clk_summary debugfs - Replace clk-provider.h with of_clk.h when possible - Add devm variant of clk_notifier_register() - Add clk_hw_get_clk() to generate a struct clk from a struct clk_hw New Drivers: - Bindings for Canaan K210 SoC clks - Support for SiFive FU740 PRCI - Camera clks on Qualcomm SC7180 SoCs - GCC and RPMh clks on Qualcomm SDX55 SoCs - RPMh clks on Qualcomm SM8350 SoCs - LPASS clks on Qualcomm SM8250 SoCs Updates: - DVFS support for AT91 clk driver - Update git repo branch for Renesas clock drivers - Add camera (CSI) and video-in (VIN) clocks on Renesas R-Car V3U - Add RPC (QSPI/HyperFLASH) clocks on Renesas RZ/G2M, RZ/G2N, and RZ/G2E - Stop using __raw_*() I/O accessors in Renesas clk drivers - One more conversion of DT bindings to json-schema - Make i.MX clk-gate2 driver more flexible - New two cell binding for i.MX SCU clks - Drop of_match_ptr() in i.MX8 clk drivers - Add arch dependencies for Rockchip clk drivers - Fix i2s on Rockchip rk3066 - Add MIPI DSI clks on Amlogic axg and g12 SoCs - Support modular builds of Amlogic clk drivers - Fix an Amlogic Video PLL clock dependency - Samsung Kconfig dependencies updates for better compile test coverage - Refactoring of the Samsung PLL clocks driver - Small Tegra driver cleanups - Minor fixes to Ingenic and VC5 clk drivers - Cleanup patches to remove unused variables and plug memory leaks" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (134 commits) dt-binding: clock: Document canaan,k210-clk bindings dt-bindings: Add Canaan vendor prefix clk: vc5: Use "idt,voltage-microvolt" instead of "idt,voltage-microvolts" clk: ingenic: Fix divider calculation with div tables clk: sunxi-ng: Make sure divider tables have sentinel clk: s2mps11: Fix a resource leak in error handling paths in the probe function clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 clk: si5351: Wait for bit clear after PLL reset clk: at91: sam9x60: remove atmel,osc-bypass support clk: at91: sama7g5: register cpu clock clk: at91: clk-master: re-factor master clock clk: at91: sama7g5: do not allow cpu pll to go higher than 1GHz clk: at91: sama7g5: decrease lower limit for MCK0 rate clk: at91: sama7g5: remove mck0 from parent list of other clocks clk: at91: clk-sam9x60-pll: allow runtime changes for pll clk: at91: sama7g5: add 5th divisor for mck0 layout and characteristics clk: at91: clk-master: add 5th divisor for mck master clk: at91: sama7g5: allow SYS and CPU PLLs to be exported and referenced in DT dt-bindings: clock: at91: add sama7g5 pll defines clk: at91: sama7g5: fix compilation error ...
2 parents 8552d28 + abe7e32 commit 8653b77

File tree

130 files changed

+9320
-1491
lines changed

Some content is hidden

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

130 files changed

+9320
-1491
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/adi,axi-clkgen.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Binding for Analog Devices AXI clkgen pcore clock generator
8+
9+
maintainers:
10+
- Lars-Peter Clausen <lars@metafoo.de>
11+
- Michael Hennerich <michael.hennerich@analog.com>
12+
13+
description: |
14+
The axi_clkgen IP core is a software programmable clock generator,
15+
that can be synthesized on various FPGA platforms.
16+
17+
Link: https://wiki.analog.com/resources/fpga/docs/axi_clkgen
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- adi,axi-clkgen-2.00.a
23+
24+
clocks:
25+
description:
26+
Specifies the reference clock(s) from which the output frequency is
27+
derived. This must either reference one clock if only the first clock
28+
input is connected or two if both clock inputs are connected.
29+
minItems: 1
30+
maxItems: 2
31+
32+
'#clock-cells':
33+
const: 0
34+
35+
reg:
36+
maxItems: 1
37+
38+
required:
39+
- compatible
40+
- reg
41+
- clocks
42+
- '#clock-cells'
43+
44+
additionalProperties: false
45+
46+
examples:
47+
- |
48+
clock-controller@ff000000 {
49+
compatible = "adi,axi-clkgen-2.00.a";
50+
#clock-cells = <0>;
51+
reg = <0xff000000 0x1000>;
52+
clocks = <&osc 1>;
53+
};

Documentation/devicetree/bindings/clock/axi-clkgen.txt

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/canaan,k210-clk.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Canaan Kendryte K210 Clock Device Tree Bindings
8+
9+
maintainers:
10+
- Damien Le Moal <damien.lemoal@wdc.com>
11+
12+
description: |
13+
Canaan Kendryte K210 SoC clocks driver bindings. The clock
14+
controller node must be defined as a child node of the K210
15+
system controller node.
16+
17+
See also:
18+
- dt-bindings/clock/k210-clk.h
19+
20+
properties:
21+
compatible:
22+
const: canaan,k210-clk
23+
24+
clocks:
25+
description:
26+
Phandle of the SoC 26MHz fixed-rate oscillator clock.
27+
28+
'#clock-cells':
29+
const: 1
30+
31+
required:
32+
- compatible
33+
- '#clock-cells'
34+
- clocks
35+
36+
additionalProperties: false
37+
38+
examples:
39+
- |
40+
#include <dt-bindings/clock/k210-clk.h>
41+
clocks {
42+
in0: oscillator {
43+
compatible = "fixed-clock";
44+
#clock-cells = <0>;
45+
clock-frequency = <26000000>;
46+
};
47+
};
48+
49+
/* ... */
50+
sysclk: clock-controller {
51+
#clock-cells = <1>;
52+
compatible = "canaan,k210-clk";
53+
clocks = <&in0>;
54+
};
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/fsl,flexspi-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale FlexSPI clock driver for Layerscape SoCs
8+
9+
maintainers:
10+
- Michael Walle <michael@walle.cc>
11+
12+
description:
13+
The Freescale Layerscape SoCs have a special FlexSPI clock which is
14+
derived from the platform PLL.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- fsl,ls1028a-flexspi-clk
20+
- fsl,lx2160a-flexspi-clk
21+
22+
reg:
23+
maxItems: 1
24+
25+
clocks:
26+
maxItems: 1
27+
28+
'#clock-cells':
29+
const: 0
30+
31+
clock-output-names:
32+
maxItems: 1
33+
34+
required:
35+
- compatible
36+
- reg
37+
- clocks
38+
- '#clock-cells'
39+
40+
additionalProperties: false
41+
42+
examples:
43+
- |
44+
dcfg {
45+
#address-cells = <1>;
46+
#size-cells = <1>;
47+
48+
fspi_clk: clock-controller@900 {
49+
compatible = "fsl,ls1028a-flexspi-clk";
50+
reg = <0x900 0x4>;
51+
#clock-cells = <0>;
52+
clocks = <&parentclk>;
53+
clock-output-names = "fspi_clk";
54+
};
55+
};
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,aoncc-sm8250.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Clock bindings for LPASS Always ON Clock Controller on SM8250 SoCs
8+
9+
maintainers:
10+
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11+
12+
description: |
13+
The clock consumer should specify the desired clock by having the clock
14+
ID in its "clocks" phandle cell.
15+
See include/dt-bindings/clock/qcom,sm8250-lpass-aoncc.h for the full list
16+
of Audio Clock controller clock IDs.
17+
18+
properties:
19+
compatible:
20+
const: qcom,sm8250-lpass-aon
21+
22+
reg:
23+
maxItems: 1
24+
25+
'#clock-cells':
26+
const: 1
27+
28+
clocks:
29+
items:
30+
- description: LPASS Core voting clock
31+
- description: Glitch Free Mux register clock
32+
33+
clock-names:
34+
items:
35+
- const: core
36+
- const: bus
37+
38+
required:
39+
- compatible
40+
- reg
41+
- '#clock-cells'
42+
- clocks
43+
- clock-names
44+
45+
additionalProperties: false
46+
47+
examples:
48+
- |
49+
#include <dt-bindings/clock/qcom,sm8250-lpass-aoncc.h>
50+
#include <dt-bindings/sound/qcom,q6afe.h>
51+
clock-controller@3800000 {
52+
#clock-cells = <1>;
53+
compatible = "qcom,sm8250-lpass-aon";
54+
reg = <0x03380000 0x40000>;
55+
clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
56+
<&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
57+
clock-names = "core", "bus";
58+
};
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,audiocc-sm8250.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Clock bindings for LPASS Audio Clock Controller on SM8250 SoCs
8+
9+
maintainers:
10+
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11+
12+
description: |
13+
The clock consumer should specify the desired clock by having the clock
14+
ID in its "clocks" phandle cell.
15+
See include/dt-bindings/clock/qcom,sm8250-lpass-audiocc.h for the full list
16+
of Audio Clock controller clock IDs.
17+
18+
properties:
19+
compatible:
20+
const: qcom,sm8250-lpass-audiocc
21+
22+
reg:
23+
maxItems: 1
24+
25+
'#clock-cells':
26+
const: 1
27+
28+
clocks:
29+
items:
30+
- description: LPASS Core voting clock
31+
- description: Glitch Free Mux register clock
32+
33+
clock-names:
34+
items:
35+
- const: core
36+
- const: bus
37+
38+
required:
39+
- compatible
40+
- reg
41+
- '#clock-cells'
42+
- clocks
43+
- clock-names
44+
45+
additionalProperties: false
46+
47+
examples:
48+
- |
49+
#include <dt-bindings/clock/qcom,sm8250-lpass-audiocc.h>
50+
#include <dt-bindings/sound/qcom,q6afe.h>
51+
clock-controller@3300000 {
52+
#clock-cells = <1>;
53+
compatible = "qcom,sm8250-lpass-audiocc";
54+
reg = <0x03300000 0x30000>;
55+
clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
56+
<&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
57+
clock-names = "core", "bus";
58+
};
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
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-sdx55.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Global Clock & Reset Controller Binding for SDX55
8+
9+
maintainers:
10+
- Vinod Koul <vkoul@kernel.org>
11+
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
12+
13+
description: |
14+
Qualcomm global clock control module which supports the clocks, resets and
15+
power domains on SDX55
16+
17+
See also:
18+
- dt-bindings/clock/qcom,gcc-sdx55.h
19+
20+
properties:
21+
compatible:
22+
const: qcom,gcc-sdx55
23+
24+
clocks:
25+
items:
26+
- description: Board XO source
27+
- description: Sleep clock source
28+
- description: PLL test clock source (Optional clock)
29+
minItems: 2
30+
maxItems: 3
31+
32+
clock-names:
33+
items:
34+
- const: bi_tcxo
35+
- const: sleep_clk
36+
- const: core_bi_pll_test_se # Optional clock
37+
minItems: 2
38+
maxItems: 3
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+
- clocks
55+
- clock-names
56+
- reg
57+
- '#clock-cells'
58+
- '#reset-cells'
59+
- '#power-domain-cells'
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/clock/qcom,rpmh.h>
66+
clock-controller@100000 {
67+
compatible = "qcom,gcc-sdx55";
68+
reg = <0x00100000 0x1f0000>;
69+
clocks = <&rpmhcc RPMH_CXO_CLK>,
70+
<&sleep_clk>, <&pll_test_clk>;
71+
clock-names = "bi_tcxo", "sleep_clk", "core_bi_pll_test_se";
72+
#clock-cells = <1>;
73+
#reset-cells = <1>;
74+
#power-domain-cells = <1>;
75+
};
76+
77+
...

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ properties:
1919
enum:
2020
- qcom,sc7180-rpmh-clk
2121
- qcom,sdm845-rpmh-clk
22+
- qcom,sdx55-rpmh-clk
2223
- qcom,sm8150-rpmh-clk
2324
- qcom,sm8250-rpmh-clk
25+
- qcom,sm8350-rpmh-clk
2426

2527
clocks:
2628
maxItems: 1

0 commit comments

Comments
 (0)