Skip to content
This repository was archived by the owner on Feb 9, 2023. It is now read-only.

Commit 3879ae6

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 has a handful of patches this time around, mostly due to the clk rate protection support added by Jerome Brunet. This feature will allow consumers to lock in a certain rate on the output of a clk so that things like audio playback don't hear pops when the clk frequency changes due to shared parent clks changing rates. Currently the clk API doesn't guarantee the rate of a clk stays at the rate you request after clk_set_rate() is called, so this new API will allow drivers to express that requirement. Beyond this, the core got some debugfs pretty printing patches and a couple minor non-critical fixes. Looking outside of the core framework diff we have some new driver additions and the removal of a legacy TI clk driver. Both of these hit high in the dirstat. Also, the removal of the asm-generic/clkdev.h file causes small one-liners in all the architecture Kbuild files. Overall, the driver diff seems to be the normal stuff that comes all the time to fix little problems here and there and to support new hardware. Summary: Core: - Clk rate protection - Symbolic clk flags in debugfs output - Clk registration enabled clks while doing bookkeeping updates New Drivers: - Spreadtrum SC9860 - HiSilicon hi3660 stub - Qualcomm A53 PLL, SPMI clkdiv, and MSM8916 APCS - Amlogic Meson-AXG - ASPEED BMC Removed Drivers: - TI OMAP 3xxx legacy clk (non-DT) support - asm*/clkdev.h got removed (not really a driver) Updates: - Renesas FDP1-0 module clock on R-Car M3-W - Renesas LVDS module clock on R-Car V3M - Misc fixes to pr_err() prints - Qualcomm MSM8916 audio fixes - Qualcomm IPQ8074 rounded out support for more peripherals - Qualcomm Alpha PLL variants - Divider code was using container_of() on bad pointers - Allwinner DE2 clks on H3 - Amlogic minor data fixes and dropping of CLK_IGNORE_UNUSED - Mediatek clk driver compile test support - AT91 PMC clk suspend/resume restoration support - PLL issues fixed on si5351 - Broadcom IProc PLL calculation updates - DVFS support for Armada mvebu CPU clks - Allwinner fixed post-divider support - TI clkctrl fixes and support for newer SoCs" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (125 commits) clk: aspeed: Handle inverse polarity of USB port 1 clock gate clk: aspeed: Fix return value check in aspeed_cc_init() clk: aspeed: Add reset controller clk: aspeed: Register gated clocks clk: aspeed: Add platform driver and register PLLs clk: aspeed: Register core clocks clk: Add clock driver for ASPEED BMC SoCs clk: mediatek: adjust dependency of reset.c to avoid unexpectedly being built clk: fix reentrancy of clk_enable() on UP systems clk: meson-axg: fix potential NULL dereference in axg_clkc_probe() clk: Simplify debugfs registration clk: Fix debugfs_create_*() usage clk: Show symbolic clock flags in debugfs clk: renesas: r8a7796: Add FDP clock clk: Move __clk_{get,put}() into private clk.h API clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks clk: Improve flags doc for of_clk_detect_critical() arch: Remove clkdev.h asm-generic from Kbuild clk: sunxi-ng: a83t: Add M divider to TCON1 clock clk: Prepare to remove asm-generic/clkdev.h ...
2 parents fe53d14 + c43a52c commit 3879ae6

154 files changed

Lines changed: 12868 additions & 6071 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/clock/hi3660-clock.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,18 @@ Required Properties:
1313
- "hisilicon,hi3660-pmuctrl"
1414
- "hisilicon,hi3660-sctrl"
1515
- "hisilicon,hi3660-iomcu"
16+
- "hisilicon,hi3660-stub-clk"
1617

1718
- reg: physical base address of the controller and length of memory mapped
1819
region.
1920

2021
- #clock-cells: should be 1.
2122

23+
Optional Properties:
24+
25+
- mboxes: Phandle to the mailbox for sending message to MCU.
26+
(See: ../mailbox/hisilicon,hi3660-mailbox.txt for more info)
27+
2228
Each clock is assigned an identifier and client nodes use this identifier
2329
to specify the clock which they consume.
2430

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Qualcomm MSM8916 A53 PLL Binding
2+
--------------------------------
3+
The A53 PLL on MSM8916 platforms is the main CPU PLL used used for frequencies
4+
above 1GHz.
5+
6+
Required properties :
7+
- compatible : Shall contain only one of the following:
8+
9+
"qcom,msm8916-a53pll"
10+
11+
- reg : shall contain base register location and length
12+
13+
- #clock-cells : must be set to <0>
14+
15+
Example:
16+
17+
a53pll: clock@b016000 {
18+
compatible = "qcom,msm8916-a53pll";
19+
reg = <0xb016000 0x40>;
20+
#clock-cells = <0>;
21+
};
22+
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
Qualcomm Technologies, Inc. SPMI PMIC clock divider (clkdiv)
2+
3+
clkdiv configures the clock frequency of a set of outputs on the PMIC.
4+
These clocks are typically wired through alternate functions on
5+
gpio pins.
6+
7+
=======================
8+
Properties
9+
=======================
10+
11+
- compatible
12+
Usage: required
13+
Value type: <string>
14+
Definition: must be "qcom,spmi-clkdiv".
15+
16+
- reg
17+
Usage: required
18+
Value type: <prop-encoded-array>
19+
Definition: base address of CLKDIV peripherals.
20+
21+
- qcom,num-clkdivs
22+
Usage: required
23+
Value type: <u32>
24+
Definition: number of CLKDIV peripherals.
25+
26+
- clocks:
27+
Usage: required
28+
Value type: <prop-encoded-array>
29+
Definition: reference to the xo clock.
30+
31+
- clock-names:
32+
Usage: required
33+
Value type: <stringlist>
34+
Definition: must be "xo".
35+
36+
- #clock-cells:
37+
Usage: required
38+
Value type: <u32>
39+
Definition: shall contain 1.
40+
41+
=======
42+
Example
43+
=======
44+
45+
pm8998_clk_divs: clock-controller@5b00 {
46+
compatible = "qcom,spmi-clkdiv";
47+
reg = <0x5b00>;
48+
#clock-cells = <1>;
49+
qcom,num-clkdivs = <3>;
50+
clocks = <&xo_board>;
51+
clock-names = "xo";
52+
53+
assigned-clocks = <&pm8998_clk_divs 1>,
54+
<&pm8998_clk_divs 2>,
55+
<&pm8998_clk_divs 3>;
56+
assigned-clock-rates = <9600000>,
57+
<9600000>,
58+
<9600000>;
59+
};

Documentation/devicetree/bindings/clock/qoriq-clock.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ second cell is the clock index for the specified type.
7878
2 hwaccel index (n in CLKCGnHWACSR)
7979
3 fman 0 for fm1, 1 for fm2
8080
4 platform pll 0=pll, 1=pll/2, 2=pll/3, 3=pll/4
81+
4=pll/5, 5=pll/6, 6=pll/7, 7=pll/8
8182
5 coreclk must be 0
8283

8384
3. Example

Documentation/devicetree/bindings/clock/silabs,si5351.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ Optional child node properties:
4949
- silabs,multisynth-source: source pll A(0) or B(1) of corresponding multisynth
5050
divider.
5151
- silabs,pll-master: boolean, multisynth can change pll frequency.
52+
- silabs,pll-reset: boolean, clock output can reset its pll.
5253
- silabs,disable-state : clock output disable state, shall be
5354
0 = clock output is driven LOW when disabled
5455
1 = clock output is driven HIGH when disabled
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
Spreadtrum Clock Binding
2+
------------------------
3+
4+
Required properties:
5+
- compatible: should contain the following compatible strings:
6+
- "sprd,sc9860-pmu-gate"
7+
- "sprd,sc9860-pll"
8+
- "sprd,sc9860-ap-clk"
9+
- "sprd,sc9860-aon-prediv"
10+
- "sprd,sc9860-apahb-gate"
11+
- "sprd,sc9860-aon-gate"
12+
- "sprd,sc9860-aonsecure-clk"
13+
- "sprd,sc9860-agcp-gate"
14+
- "sprd,sc9860-gpu-clk"
15+
- "sprd,sc9860-vsp-clk"
16+
- "sprd,sc9860-vsp-gate"
17+
- "sprd,sc9860-cam-clk"
18+
- "sprd,sc9860-cam-gate"
19+
- "sprd,sc9860-disp-clk"
20+
- "sprd,sc9860-disp-gate"
21+
- "sprd,sc9860-apapb-gate"
22+
23+
- #clock-cells: must be 1
24+
25+
- clocks : Should be the input parent clock(s) phandle for the clock, this
26+
property here just simply shows which clock group the clocks'
27+
parents are in, since each clk node would represent many clocks
28+
which are defined in the driver. The detailed dependency
29+
relationship (i.e. how many parents and which are the parents)
30+
are implemented in driver code.
31+
32+
Optional properties:
33+
34+
- reg: Contain the registers base address and length. It must be configured
35+
only if no 'sprd,syscon' under the node.
36+
37+
- sprd,syscon: phandle to the syscon which is in the same address area with
38+
the clock, and so we can get regmap for the clocks from the
39+
syscon device.
40+
41+
Example:
42+
43+
pmu_gate: pmu-gate {
44+
compatible = "sprd,sc9860-pmu-gate";
45+
sprd,syscon = <&pmu_regs>;
46+
clocks = <&ext_26m>;
47+
#clock-cells = <1>;
48+
};
49+
50+
pll: pll {
51+
compatible = "sprd,sc9860-pll";
52+
sprd,syscon = <&ana_regs>;
53+
clocks = <&pmu_gate 0>;
54+
#clock-cells = <1>;
55+
};
56+
57+
ap_clk: clock-controller@20000000 {
58+
compatible = "sprd,sc9860-ap-clk";
59+
reg = <0 0x20000000 0 0x400>;
60+
clocks = <&ext_26m>, <&pll 0>,
61+
<&pmu_gate 0>;
62+
#clock-cells = <1>;
63+
};

Documentation/devicetree/bindings/clock/sun8i-de2.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ Allwinner Display Engine 2.0 Clock Control Binding
44
Required properties :
55
- compatible: must contain one of the following compatibles:
66
- "allwinner,sun8i-a83t-de2-clk"
7+
- "allwinner,sun8i-h3-de2-clk"
78
- "allwinner,sun8i-v3s-de2-clk"
89
- "allwinner,sun50i-h5-de2-clk"
910

1011
- reg: Must contain the registers base address and length
1112
- clocks: phandle to the clocks feeding the display engine subsystem.
1213
Three are needed:
13-
- "mod": the display engine module clock
14+
- "mod": the display engine module clock (on A83T it's the DE PLL)
1415
- "bus": the bus clock for the whole display engine subsystem
1516
- clock-names: Must contain the clock names described just above
1617
- resets: phandle to the reset control for the display engine subsystem.
@@ -19,7 +20,7 @@ Required properties :
1920

2021
Example:
2122
de2_clocks: clock@1000000 {
22-
compatible = "allwinner,sun8i-a83t-de2-clk";
23+
compatible = "allwinner,sun8i-h3-de2-clk";
2324
reg = <0x01000000 0x100000>;
2425
clocks = <&ccu CLK_BUS_DE>,
2526
<&ccu CLK_DE>;

arch/alpha/include/asm/Kbuild

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0
22

33

4-
generic-y += clkdev.h
54
generic-y += exec.h
65
generic-y += export.h
76
generic-y += fb.h

arch/arc/include/asm/Kbuild

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# SPDX-License-Identifier: GPL-2.0
22
generic-y += bugs.h
3-
generic-y += clkdev.h
43
generic-y += device.h
54
generic-y += div64.h
65
generic-y += emergency-restart.h

arch/arm/include/asm/Kbuild

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
generic-y += clkdev.h
21
generic-y += current.h
32
generic-y += early_ioremap.h
43
generic-y += emergency-restart.h

0 commit comments

Comments
 (0)