Skip to content

Commit ff7ddcf

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: "This batch of clk driver updates contains almost no new SoC support. Instead there's a treewide patch series from Maxime that makes clk_ops::determine_rate mandatory for muxes. Beyond that core framework change we have the usual pile of clk driver updates such as migrating i2c drivers to use .probe() again or YAMLfication of clk DT bindings so we can validate DTBs. Overall the SoCs that got the most updates this time around in terms of diffstat are the Amlogic and Mediatek drivers because they added new SoC support or fixed up various drivers to have proper data. In general things look kinda quiet. I suspect the core framework change may still shake out some problems after the merge window, mostly because not everyone tests linux-next where that series has been for some number of weeks. I saw that there's at least one pending fix for Tegra that needs to be wrapped up into a proper patch. I'll try to catch those bits before the window closes so that -rc1 is bootable. More details below. Core: - Make clk_ops::determine_rate mandatory for muxes New Drivers: - Add amlogic a1 SoC family PLL and peripheral clock controller support Updates: - Handle allocation failures from kasprintf() and friends - Migrate platform clk drivers to .remove_new() - Migrate i2c clk drivers to .probe() instead of .probe_new() - Remove CLK_SET_PARENT from all Mediatek MSDC core clocks - Add infra_ao reset support for Mediatek MT8188 SoCs - Align driver_data to i2c_device_id tables in some i2c clk drivers - Use device_get_match_data() in vc5 clk driver - New Kconfig symbol name (SOC_MICROCHIP_POLARFIRE) for Microchip FPGA clock drivers - Use of_property_read_bool() to read "microchip,pic32mzda-sosc" boolean DT property in clk-pic32mzda - Convert AT91 clock dt-bindings to YAML - Remove CLK_SET_RATE_PARENT flag from LDB clocks on i.MX6SX - Keep i.MX UART clocks enabled during kernel boot if earlycon is set - Drop imx_unregister_clocks() as there are no users anymore - Switch to _safe iterator on imx_clk_scu_unregister() to avoid use after free - Add determine_rate op to the imx8m composite clock - Use device managed API for iomap and kzalloc for i.MXRT1050, i.MX8MN, i.MX8MP and i.MX93 clock controller drivers - Add missing interrupt DT property for the i.MX8M clock controller - Re-add support for Exynos4212 clock controller because we are re-introducing the SoC in the mainline - Add CONFIG_OF dependency to Samsung clk Kconfig symbols to solve some objtool warnings - Preselect PLL MIPI as TCON0 parent for Allwinner A64 SoC - Convert the Renesas clock drivers to readl_poll_timeout_atomic() - Add PWM clock on Renesas R-Car V3U - Fix PLL5 on Renesas RZ/G2L and RZ/V2L" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (149 commits) clk: fix typo in clk_hw_register_fixed_rate_parent_data() macro clk: Fix memory leak in devm_clk_notifier_register() clk: mvebu: Iterate over possible CPUs instead of DT CPU nodes clk: mvebu: Use of_get_cpu_hwid() to read CPU ID MAINTAINERS: Add Marvell mvebu clock drivers clk: clocking-wizard: check return value of devm_kasprintf() clk: ti: clkctrl: check return value of kasprintf() clk: keystone: sci-clk: check return value of kasprintf() clk: si5341: free unused memory on probe failure clk: si5341: check return value of {devm_}kasprintf() clk: si5341: return error if one synth clock registration fails clk: cdce925: check return value of kasprintf() clk: vc5: check memory returned by kasprintf() clk: mediatek: clk-mt8173-apmixedsys: Fix iomap not released issue clk: mediatek: clk-mt8173-apmixedsys: Fix return value for of_iomap() error clk: mediatek: clk-mtk: Grab iomem pointer for divider clocks clk: keystone: syscon-clk: Add support for audio refclk dt-bindings: clock: Add binding documentation for TI Audio REFCLK dt-bindings: clock: ehrpwm: Remove unneeded syscon compatible clk: keystone: syscon-clk: Allow the clock node to not be of type syscon ...
2 parents acd1d46 + b9a4050 commit ff7ddcf

File tree

277 files changed

+4645
-841
lines changed

Some content is hidden

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

277 files changed

+4645
-841
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/amlogic,a1-peripherals-clkc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic A1 Peripherals Clock Control Unit
8+
9+
maintainers:
10+
- Neil Armstrong <[email protected]>
11+
- Jerome Brunet <[email protected]>
12+
- Jian Hu <[email protected]>
13+
- Dmitry Rokosov <[email protected]>
14+
15+
properties:
16+
compatible:
17+
const: amlogic,a1-peripherals-clkc
18+
19+
'#clock-cells':
20+
const: 1
21+
22+
reg:
23+
maxItems: 1
24+
25+
clocks:
26+
items:
27+
- description: input fixed pll div2
28+
- description: input fixed pll div3
29+
- description: input fixed pll div5
30+
- description: input fixed pll div7
31+
- description: input hifi pll
32+
- description: input oscillator (usually at 24MHz)
33+
34+
clock-names:
35+
items:
36+
- const: fclk_div2
37+
- const: fclk_div3
38+
- const: fclk_div5
39+
- const: fclk_div7
40+
- const: hifi_pll
41+
- const: xtal
42+
43+
required:
44+
- compatible
45+
- '#clock-cells'
46+
- reg
47+
- clocks
48+
- clock-names
49+
50+
additionalProperties: false
51+
52+
examples:
53+
- |
54+
#include <dt-bindings/clock/amlogic,a1-pll-clkc.h>
55+
apb {
56+
#address-cells = <2>;
57+
#size-cells = <2>;
58+
59+
clock-controller@800 {
60+
compatible = "amlogic,a1-peripherals-clkc";
61+
reg = <0 0x800 0 0x104>;
62+
#clock-cells = <1>;
63+
clocks = <&clkc_pll CLKID_FCLK_DIV2>,
64+
<&clkc_pll CLKID_FCLK_DIV3>,
65+
<&clkc_pll CLKID_FCLK_DIV5>,
66+
<&clkc_pll CLKID_FCLK_DIV7>,
67+
<&clkc_pll CLKID_HIFI_PLL>,
68+
<&xtal>;
69+
clock-names = "fclk_div2", "fclk_div3",
70+
"fclk_div5", "fclk_div7",
71+
"hifi_pll", "xtal";
72+
};
73+
};
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/amlogic,a1-pll-clkc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic A1 PLL Clock Control Unit
8+
9+
maintainers:
10+
- Neil Armstrong <[email protected]>
11+
- Jerome Brunet <[email protected]>
12+
- Jian Hu <[email protected]>
13+
- Dmitry Rokosov <[email protected]>
14+
15+
properties:
16+
compatible:
17+
const: amlogic,a1-pll-clkc
18+
19+
'#clock-cells':
20+
const: 1
21+
22+
reg:
23+
maxItems: 1
24+
25+
clocks:
26+
items:
27+
- description: input fixpll_in
28+
- description: input hifipll_in
29+
30+
clock-names:
31+
items:
32+
- const: fixpll_in
33+
- const: hifipll_in
34+
35+
required:
36+
- compatible
37+
- '#clock-cells'
38+
- reg
39+
- clocks
40+
- clock-names
41+
42+
additionalProperties: false
43+
44+
examples:
45+
- |
46+
#include <dt-bindings/clock/amlogic,a1-peripherals-clkc.h>
47+
apb {
48+
#address-cells = <2>;
49+
#size-cells = <2>;
50+
51+
clock-controller@7c80 {
52+
compatible = "amlogic,a1-pll-clkc";
53+
reg = <0 0x7c80 0 0x18c>;
54+
#clock-cells = <1>;
55+
clocks = <&clkc_periphs CLKID_FIXPLL_IN>,
56+
<&clkc_periphs CLKID_HIFIPLL_IN>;
57+
clock-names = "fixpll_in", "hifipll_in";
58+
};
59+
};

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

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/atmel,at91rm9200-pmc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel Power Management Controller (PMC)
8+
9+
maintainers:
10+
- Claudiu Beznea <[email protected]>
11+
12+
description:
13+
The power management controller optimizes power consumption by controlling all
14+
system and user peripheral clocks. The PMC enables/disables the clock inputs
15+
to many of the peripherals and to the processor.
16+
17+
properties:
18+
compatible:
19+
oneOf:
20+
- items:
21+
- const: atmel,at91sam9g20-pmc
22+
- const: atmel,at91sam9260-pmc
23+
- const: syscon
24+
- items:
25+
- enum:
26+
- atmel,at91sam9g15-pmc
27+
- atmel,at91sam9g25-pmc
28+
- atmel,at91sam9g35-pmc
29+
- atmel,at91sam9x25-pmc
30+
- atmel,at91sam9x35-pmc
31+
- const: atmel,at91sam9x5-pmc
32+
- const: syscon
33+
- items:
34+
- enum:
35+
- atmel,at91rm9200-pmc
36+
- atmel,at91sam9260-pmc
37+
- atmel,at91sam9g45-pmc
38+
- atmel,at91sam9n12-pmc
39+
- atmel,at91sam9rl-pmc
40+
- atmel,at91sam9x5-pmc
41+
- atmel,sama5d2-pmc
42+
- atmel,sama5d3-pmc
43+
- atmel,sama5d4-pmc
44+
- microchip,sam9x60-pmc
45+
- microchip,sama7g5-pmc
46+
- const: syscon
47+
48+
reg:
49+
maxItems: 1
50+
51+
interrupts:
52+
maxItems: 1
53+
54+
"#clock-cells":
55+
description: |
56+
- 1st cell is the clock type, one of PMC_TYPE_CORE, PMC_TYPE_SYSTEM,
57+
PMC_TYPE_PERIPHERAL, PMC_TYPE_GCK, PMC_TYPE_PROGRAMMABLE (as defined
58+
in <dt-bindings/clock/at91.h>)
59+
- 2nd cell is the clock identifier as defined in <dt-bindings/clock/at91.h
60+
(for core clocks) or as defined in datasheet (for system, peripheral,
61+
gck and programmable clocks).
62+
const: 2
63+
64+
clocks:
65+
minItems: 2
66+
maxItems: 3
67+
68+
clock-names:
69+
minItems: 2
70+
maxItems: 3
71+
72+
atmel,osc-bypass:
73+
description: set when a clock signal is directly provided on XIN
74+
type: boolean
75+
76+
required:
77+
- compatible
78+
- reg
79+
- interrupts
80+
- "#clock-cells"
81+
- clocks
82+
- clock-names
83+
84+
allOf:
85+
- if:
86+
properties:
87+
compatible:
88+
contains:
89+
enum:
90+
- microchip,sam9x60-pmc
91+
- microchip,sama7g5-pmc
92+
then:
93+
properties:
94+
clocks:
95+
minItems: 3
96+
maxItems: 3
97+
clock-names:
98+
items:
99+
- const: td_slck
100+
- const: md_slck
101+
- const: main_xtal
102+
103+
- if:
104+
properties:
105+
compatible:
106+
contains:
107+
enum:
108+
- atmel,at91rm9200-pmc
109+
- atmel,at91sam9260-pmc
110+
- atmel,at91sam9g20-pmc
111+
then:
112+
properties:
113+
clocks:
114+
minItems: 2
115+
maxItems: 2
116+
clock-names:
117+
items:
118+
- const: slow_xtal
119+
- const: main_xtal
120+
121+
- if:
122+
properties:
123+
compatible:
124+
contains:
125+
enum:
126+
- atmel,sama5d2-pmc
127+
- atmel,sama5d3-pmc
128+
- atmel,sama5d4-pmc
129+
then:
130+
properties:
131+
clocks:
132+
minItems: 2
133+
maxItems: 2
134+
clock-names:
135+
items:
136+
- const: slow_clk
137+
- const: main_xtal
138+
139+
additionalProperties: false
140+
141+
examples:
142+
- |
143+
#include <dt-bindings/interrupt-controller/irq.h>
144+
145+
pmc: clock-controller@f0018000 {
146+
compatible = "atmel,sama5d4-pmc", "syscon";
147+
reg = <0xf0018000 0x120>;
148+
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
149+
#clock-cells = <2>;
150+
clocks = <&clk32k>, <&main_xtal>;
151+
clock-names = "slow_clk", "main_xtal";
152+
};
153+
154+
...

0 commit comments

Comments
 (0)