Skip to content

Commit 7ddb58c

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 usual collection of clk driver updates and new driver additions. In terms of lines it's mainly Qualcomm and Mediatek code, supporting various SoCs and their multitude of clk controllers. New Drivers: - GCC and RPMcc support for Qualcomm QCM2290 SoCs - GCC support for Qualcomm MSM8994/MSM8992 SoCs - LPASSCC and CAMCC support for Qualcomm SC7280 SoCs - Support for Mediatek MT8195 SoCs - Initial clock driver for the Exynos850 SoC - Add i.MX8ULP clock driver and related bindings Updates: - Clock power management for new SAMA7G5 SoC - Updates to the master clock driver and sam9x60-pll to be able to use cpufreq-dt driver and avoid overclocking of CPU and MCK0 domains while changing the frequency via DVFS - Use ARRAY_SIZE in qcom clk drivers - Remove some impractical fallback parent names in qcom clk drivers - Make Mediatek clk drivers tristate - Refactoring of the CPU clock code and conversion of Samsung Exynos5433 CPU clock driver to the platform driver - A few conversions to devm_platform_ioremap_resource() - Updates of the Samsung Kconfig help text - Update video path realted clocks for Amlogic meson8 - Add SPI Multi I/O Bus and SDHI clocks and resets on Renesas RZ/G2L - Add SPI Multi I/O Bus (RPC) clocks on Renesas R-Car V3U - Add MediaLB clocks on Renesas R-Car H3, M3-W/W+, and M3-N - Remove unused helpers from i.MX specific clock header - Rework all i.MX clk based helpers to use clk_hw based ones - Rework i.MX gate/mux/divider wrappers - Rework imx_clk_hw_composite and imx_clk_hw_pll14xx wrappers - Update i.MX pllv4 and composite clocks to support i.MX8ULP - Disable i.MX7ULP composite clock during initialization - Add CLK_SET_RATE_NO_REPARENT flag to the i.MX7ULP composite - Disable the i.MX pfd when set pfdv2 clock rate - Add support for i.MX8ULP in pfdv2 - Add the pcc reset controller support on i.MX8ULP - Fix the build break when clk-imx8ulp is built as module - Move csi_sel mux to correct base register in i.MX6UL clock drivr - Fix csi clk gate register in i.MX6UL clock driver - Fix build bug making CLK_IMX8ULP select MXC_CLK - Add TPU (PWM), and Z (Cortex-A76) clocks on Renesas R-Car V3U - Add Ethernet clocks on Renesas RZ/G2L - Move Rockchip to use module_platform_probe - Enable usage of Coresight related clocks on Rockchip rk3399" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (170 commits) clk: use clk_core_get_rate_recalc() in clk_rate_get() clk: at91: sama7g5: set low limit for mck0 at 32KHz clk: at91: sama7g5: remove prescaler part of master clock clk: at91: clk-master: add notifier for divider clk: at91: clk-sam9x60-pll: add notifier for div part of PLL clk: at91: clk-master: fix prescaler logic clk: at91: clk-master: mask mckr against layout->mask clk: at91: clk-master: check if div or pres is zero clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL clk: at91: pmc: add sama7g5 to the list of available pmcs clk: at91: clk-master: improve readability by using local variables clk: at91: clk-master: add register definition for sama7g5's master clock clk: at91: sama7g5: add securam's peripheral clock clk: at91: pmc: execute suspend/resume only for backup mode clk: at91: re-factor clocks suspend/resume clk: ux500: Add driver for the reset portions of PRCC dt-bindings: clock: u8500: Rewrite in YAML and extend clk: composite: Use rate_ops.determine_rate when also a mux is available clk: samsung: describe drivers in Kconfig clk: samsung: exynos5433: update apollo and atlas clock probing ...
2 parents ce84017 + e2ceaa8 commit 7ddb58c

File tree

198 files changed

+17426
-2463
lines changed

Some content is hidden

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

198 files changed

+17426
-2463
lines changed
Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: "http://devicetree.org/schemas/arm/mediatek/mediatek,mt8195-clock.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: MediaTek Functional Clock Controller for MT8195
8+
9+
maintainers:
10+
- Chun-Jie Chen <[email protected]>
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 except apusys_pll provide clock gate control in different IP blocks.
21+
The apusys_pll provides Plls which generated from SoC 26m for AI Processing Unit.
22+
23+
properties:
24+
compatible:
25+
items:
26+
- enum:
27+
- mediatek,mt8195-scp_adsp
28+
- mediatek,mt8195-imp_iic_wrap_s
29+
- mediatek,mt8195-imp_iic_wrap_w
30+
- mediatek,mt8195-mfgcfg
31+
- mediatek,mt8195-vppsys0
32+
- mediatek,mt8195-wpesys
33+
- mediatek,mt8195-wpesys_vpp0
34+
- mediatek,mt8195-wpesys_vpp1
35+
- mediatek,mt8195-vppsys1
36+
- mediatek,mt8195-imgsys
37+
- mediatek,mt8195-imgsys1_dip_top
38+
- mediatek,mt8195-imgsys1_dip_nr
39+
- mediatek,mt8195-imgsys1_wpe
40+
- mediatek,mt8195-ipesys
41+
- mediatek,mt8195-camsys
42+
- mediatek,mt8195-camsys_rawa
43+
- mediatek,mt8195-camsys_yuva
44+
- mediatek,mt8195-camsys_rawb
45+
- mediatek,mt8195-camsys_yuvb
46+
- mediatek,mt8195-camsys_mraw
47+
- mediatek,mt8195-ccusys
48+
- mediatek,mt8195-vdecsys_soc
49+
- mediatek,mt8195-vdecsys
50+
- mediatek,mt8195-vdecsys_core1
51+
- mediatek,mt8195-vencsys
52+
- mediatek,mt8195-vencsys_core1
53+
- mediatek,mt8195-apusys_pll
54+
reg:
55+
maxItems: 1
56+
57+
'#clock-cells':
58+
const: 1
59+
60+
required:
61+
- compatible
62+
- reg
63+
64+
additionalProperties: false
65+
66+
examples:
67+
- |
68+
scp_adsp: clock-controller@10720000 {
69+
compatible = "mediatek,mt8195-scp_adsp";
70+
reg = <0x10720000 0x1000>;
71+
#clock-cells = <1>;
72+
};
73+
74+
- |
75+
imp_iic_wrap_s: clock-controller@11d03000 {
76+
compatible = "mediatek,mt8195-imp_iic_wrap_s";
77+
reg = <0x11d03000 0x1000>;
78+
#clock-cells = <1>;
79+
};
80+
81+
- |
82+
imp_iic_wrap_w: clock-controller@11e05000 {
83+
compatible = "mediatek,mt8195-imp_iic_wrap_w";
84+
reg = <0x11e05000 0x1000>;
85+
#clock-cells = <1>;
86+
};
87+
88+
- |
89+
mfgcfg: clock-controller@13fbf000 {
90+
compatible = "mediatek,mt8195-mfgcfg";
91+
reg = <0x13fbf000 0x1000>;
92+
#clock-cells = <1>;
93+
};
94+
95+
- |
96+
vppsys0: clock-controller@14000000 {
97+
compatible = "mediatek,mt8195-vppsys0";
98+
reg = <0x14000000 0x1000>;
99+
#clock-cells = <1>;
100+
};
101+
102+
- |
103+
wpesys: clock-controller@14e00000 {
104+
compatible = "mediatek,mt8195-wpesys";
105+
reg = <0x14e00000 0x1000>;
106+
#clock-cells = <1>;
107+
};
108+
109+
- |
110+
wpesys_vpp0: clock-controller@14e02000 {
111+
compatible = "mediatek,mt8195-wpesys_vpp0";
112+
reg = <0x14e02000 0x1000>;
113+
#clock-cells = <1>;
114+
};
115+
116+
- |
117+
wpesys_vpp1: clock-controller@14e03000 {
118+
compatible = "mediatek,mt8195-wpesys_vpp1";
119+
reg = <0x14e03000 0x1000>;
120+
#clock-cells = <1>;
121+
};
122+
123+
- |
124+
vppsys1: clock-controller@14f00000 {
125+
compatible = "mediatek,mt8195-vppsys1";
126+
reg = <0x14f00000 0x1000>;
127+
#clock-cells = <1>;
128+
};
129+
130+
- |
131+
imgsys: clock-controller@15000000 {
132+
compatible = "mediatek,mt8195-imgsys";
133+
reg = <0x15000000 0x1000>;
134+
#clock-cells = <1>;
135+
};
136+
137+
- |
138+
imgsys1_dip_top: clock-controller@15110000 {
139+
compatible = "mediatek,mt8195-imgsys1_dip_top";
140+
reg = <0x15110000 0x1000>;
141+
#clock-cells = <1>;
142+
};
143+
144+
- |
145+
imgsys1_dip_nr: clock-controller@15130000 {
146+
compatible = "mediatek,mt8195-imgsys1_dip_nr";
147+
reg = <0x15130000 0x1000>;
148+
#clock-cells = <1>;
149+
};
150+
151+
- |
152+
imgsys1_wpe: clock-controller@15220000 {
153+
compatible = "mediatek,mt8195-imgsys1_wpe";
154+
reg = <0x15220000 0x1000>;
155+
#clock-cells = <1>;
156+
};
157+
158+
- |
159+
ipesys: clock-controller@15330000 {
160+
compatible = "mediatek,mt8195-ipesys";
161+
reg = <0x15330000 0x1000>;
162+
#clock-cells = <1>;
163+
};
164+
165+
- |
166+
camsys: clock-controller@16000000 {
167+
compatible = "mediatek,mt8195-camsys";
168+
reg = <0x16000000 0x1000>;
169+
#clock-cells = <1>;
170+
};
171+
172+
- |
173+
camsys_rawa: clock-controller@1604f000 {
174+
compatible = "mediatek,mt8195-camsys_rawa";
175+
reg = <0x1604f000 0x1000>;
176+
#clock-cells = <1>;
177+
};
178+
179+
- |
180+
camsys_yuva: clock-controller@1606f000 {
181+
compatible = "mediatek,mt8195-camsys_yuva";
182+
reg = <0x1606f000 0x1000>;
183+
#clock-cells = <1>;
184+
};
185+
186+
- |
187+
camsys_rawb: clock-controller@1608f000 {
188+
compatible = "mediatek,mt8195-camsys_rawb";
189+
reg = <0x1608f000 0x1000>;
190+
#clock-cells = <1>;
191+
};
192+
193+
- |
194+
camsys_yuvb: clock-controller@160af000 {
195+
compatible = "mediatek,mt8195-camsys_yuvb";
196+
reg = <0x160af000 0x1000>;
197+
#clock-cells = <1>;
198+
};
199+
200+
- |
201+
camsys_mraw: clock-controller@16140000 {
202+
compatible = "mediatek,mt8195-camsys_mraw";
203+
reg = <0x16140000 0x1000>;
204+
#clock-cells = <1>;
205+
};
206+
207+
- |
208+
ccusys: clock-controller@17200000 {
209+
compatible = "mediatek,mt8195-ccusys";
210+
reg = <0x17200000 0x1000>;
211+
#clock-cells = <1>;
212+
};
213+
214+
- |
215+
vdecsys_soc: clock-controller@1800f000 {
216+
compatible = "mediatek,mt8195-vdecsys_soc";
217+
reg = <0x1800f000 0x1000>;
218+
#clock-cells = <1>;
219+
};
220+
221+
- |
222+
vdecsys: clock-controller@1802f000 {
223+
compatible = "mediatek,mt8195-vdecsys";
224+
reg = <0x1802f000 0x1000>;
225+
#clock-cells = <1>;
226+
};
227+
228+
- |
229+
vdecsys_core1: clock-controller@1803f000 {
230+
compatible = "mediatek,mt8195-vdecsys_core1";
231+
reg = <0x1803f000 0x1000>;
232+
#clock-cells = <1>;
233+
};
234+
235+
- |
236+
vencsys: clock-controller@1a000000 {
237+
compatible = "mediatek,mt8195-vencsys";
238+
reg = <0x1a000000 0x1000>;
239+
#clock-cells = <1>;
240+
};
241+
242+
- |
243+
vencsys_core1: clock-controller@1b000000 {
244+
compatible = "mediatek,mt8195-vencsys_core1";
245+
reg = <0x1b000000 0x1000>;
246+
#clock-cells = <1>;
247+
};
248+
249+
- |
250+
apusys_pll: clock-controller@190f3000 {
251+
compatible = "mediatek,mt8195-apusys_pll";
252+
reg = <0x190f3000 0x1000>;
253+
#clock-cells = <1>;
254+
};
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 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: "http://devicetree.org/schemas/arm/mediatek/mediatek,mt8195-sys-clock.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: MediaTek System Clock Controller for MT8195
8+
9+
maintainers:
10+
- Chun-Jie Chen <[email protected]>
11+
12+
description:
13+
The clock architecture in Mediatek like below
14+
PLLs -->
15+
dividers -->
16+
muxes
17+
-->
18+
clock gate
19+
20+
The apmixedsys provides most of PLLs which generated from SoC 26m.
21+
The topckgen provides dividers and muxes which provide the clock source to other IP blocks.
22+
The infracfg_ao and pericfg_ao provides clock gate in peripheral and infrastructure IP blocks.
23+
24+
properties:
25+
compatible:
26+
items:
27+
- enum:
28+
- mediatek,mt8195-topckgen
29+
- mediatek,mt8195-infracfg_ao
30+
- mediatek,mt8195-apmixedsys
31+
- mediatek,mt8195-pericfg_ao
32+
- const: syscon
33+
34+
reg:
35+
maxItems: 1
36+
37+
'#clock-cells':
38+
const: 1
39+
40+
required:
41+
- compatible
42+
- reg
43+
44+
additionalProperties: false
45+
46+
examples:
47+
- |
48+
topckgen: syscon@10000000 {
49+
compatible = "mediatek,mt8195-topckgen", "syscon";
50+
reg = <0x10000000 0x1000>;
51+
#clock-cells = <1>;
52+
};
53+
54+
- |
55+
infracfg_ao: syscon@10001000 {
56+
compatible = "mediatek,mt8195-infracfg_ao", "syscon";
57+
reg = <0x10001000 0x1000>;
58+
#clock-cells = <1>;
59+
};
60+
61+
- |
62+
apmixedsys: syscon@1000c000 {
63+
compatible = "mediatek,mt8195-apmixedsys", "syscon";
64+
reg = <0x1000c000 0x1000>;
65+
#clock-cells = <1>;
66+
};
67+
68+
- |
69+
pericfg_ao: syscon@11003000 {
70+
compatible = "mediatek,mt8195-pericfg_ao", "syscon";
71+
reg = <0x11003000 0x1000>;
72+
#clock-cells = <1>;
73+
};

Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ properties:
2424
- const: allwinner,sun8i-v3s-de2-clk
2525
- const: allwinner,sun50i-a64-de2-clk
2626
- const: allwinner,sun50i-h5-de2-clk
27-
- const: allwinner,sun50i-h6-de2-clk
27+
- const: allwinner,sun50i-h6-de3-clk
2828
- items:
2929
- const: allwinner,sun8i-r40-de2-clk
3030
- const: allwinner,sun8i-h3-de2-clk

Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ properties:
6969
- arm,impd1-vco1
7070
- arm,impd1-vco2
7171

72+
reg:
73+
maxItems: 1
74+
description: The VCO register
75+
7276
clocks:
7377
description: Parent clock for the ICST VCO
7478
maxItems: 1
@@ -83,6 +87,7 @@ properties:
8387
vco-offset:
8488
$ref: '/schemas/types.yaml#/definitions/uint32'
8589
description: Offset to the VCO register for the oscillator
90+
deprecated: true
8691

8792
required:
8893
- "#clock-cells"

Documentation/devicetree/bindings/clock/fixed-mmio-clock.txt

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

0 commit comments

Comments
 (0)