Skip to content

Commit 6b701fd

Browse files
committed
Merge branches 'clk-samsung', 'clk-qcom', 'clk-round', 'clk-sai' and 'clk-cleanup' into clk-next
* clk-samsung: clk: samsung: exynos850: Add APM-to-AP mailbox clock dt-bindings: clock: exynos850: Add APM_AP MAILBOX clock clk: samsung: Use %pe format to simplify clk: samsung: pll: Fix possible truncation in a9fraco recalc rate clk: samsung: exynosautov920: add block G3D clock support dt-bindings: clock: exynosautov920: add G3D clock definitions clk: samsung: gs101: harmonise symbol names (clock arrays) clk: samsung: artpec-9: Add initial clock support for ARTPEC-9 SoC clk: samsung: Add clock PLL support for ARTPEC-9 SoC dt-bindings: clock: Add ARTPEC-9 clock controller * clk-qcom: (67 commits) clk: qcom: gcc: Add multiple global clock controller driver for Nord SoC clk: qcom: rpmh: Add support for Nord rpmh clocks clk: qcom: Add TCSR clock driver for Nord SoC dt-bindings: clock: qcom: Add Nord Global Clock Controller dt-bindings: clock: qcom-rpmhcc: Add support for Nord SoCs dt-bindings: clock: qcom: Document the Nord SoC TCSR Clock Controller clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON clk: qcom: Constify list of critical CBCR registers clk: qcom: Constify qcom_cc_driver_data clk: qcom: videocc-glymur: Constify qcom_cc_desc clk: qcom: Add a driver for SM8750 GPU clocks dt-bindings: clock: qcom: Add SM8750 GPU clocks clk: qcom: ipq-cmn-pll: Add IPQ8074 SoC support dt-bindings: clock: qcom: Add CMN PLL support for IPQ8074 clk: qcom: ipq-cmn-pll: Add IPQ6018 SoC support dt-bindings: clock: qcom: Add CMN PLL support for IPQ6018 clk: qcom: gdsc: Fix error path on registration of multiple pm subdomains dt-bindings: clock: qcom: Add missing power-domains property clk: qcom: gcc-eliza: Enable FORCE_MEM_CORE_ON for UFS AXI PHY clock clk: qcom: dispcc-sc7180: Add missing MDSS resets ... * clk-round: clk: divider: remove divider_round_rate() and divider_round_rate_parent() clk: divider: remove divider_ro_round_rate_parent() clk: remove round_rate() clk ops clk: composite: convert from round_rate() to determine_rate() clk: test: remove references to clk_ops.round_rate * clk-sai: clk: fsl-sai: Add MCLK generation support clk: fsl-sai: Extract clock setup into fsl_sai_clk_register() dt-bindings: clock: fsl-sai: Document clock-cells = <1> support clk: fsl-sai: Add i.MX8M support with 8 byte register offset clk: fsl-sai: Sort the headers dt-bindings: clock: fsl-sai: Document i.MX8M support * clk-cleanup: clk: visconti: pll: initialize clk_init_data to zero clk: xgene: Fix mapping leak in xgene_pllclk_init() clk: Simplify clk_is_match() clk: baikal-t1: Remove not-going-to-be-supported code for Baikal SoC clk: mvebu: armada-37xx-periph: fix __iomem casts in structure init clk: qoriq: avoid format string warning
6 parents 522a83a + 42ca4f0 + 1db4d0e + 7b6894e + 6358c88 + 1603cbb commit 6b701fd

135 files changed

Lines changed: 20412 additions & 3358 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.
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/axis,artpec9-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Axis ARTPEC-9 SoC clock controller
8+
9+
maintainers:
10+
- Jesper Nilsson <[email protected]>
11+
12+
description: |
13+
ARTPEC-9 clock controller is comprised of several CMU (Clock Management Unit)
14+
units, generating clocks for different domains. Those CMU units are modeled
15+
as separate device tree nodes, and might depend on each other.
16+
The root clock in that root tree is an external clock: OSCCLK (25 MHz).
17+
This external clock must be defined as a fixed-rate clock in dts.
18+
19+
CMU_CMU is a top-level CMU, where all base clocks are prepared using PLLs and
20+
dividers, all other clocks of function blocks (other CMUs) are usually
21+
derived from CMU_CMU.
22+
23+
Each clock is assigned an identifier and client nodes can use this identifier
24+
to specify the clock which they consume. All clocks available for usage
25+
in clock consumer nodes are defined as preprocessor macros in
26+
'include/dt-bindings/clock/axis,artpec9-clk.h' header.
27+
28+
properties:
29+
compatible:
30+
enum:
31+
- axis,artpec9-cmu-cmu
32+
- axis,artpec9-cmu-bus
33+
- axis,artpec9-cmu-core
34+
- axis,artpec9-cmu-cpucl
35+
- axis,artpec9-cmu-fsys0
36+
- axis,artpec9-cmu-fsys1
37+
- axis,artpec9-cmu-imem
38+
- axis,artpec9-cmu-peri
39+
40+
reg:
41+
maxItems: 1
42+
43+
clocks:
44+
minItems: 1
45+
maxItems: 5
46+
47+
clock-names:
48+
minItems: 1
49+
maxItems: 5
50+
51+
"#clock-cells":
52+
const: 1
53+
54+
required:
55+
- compatible
56+
- reg
57+
- clocks
58+
- clock-names
59+
- "#clock-cells"
60+
61+
allOf:
62+
- if:
63+
properties:
64+
compatible:
65+
const: axis,artpec9-cmu-cmu
66+
67+
then:
68+
properties:
69+
clocks:
70+
items:
71+
- description: External reference clock (25 MHz)
72+
73+
clock-names:
74+
items:
75+
- const: fin_pll
76+
77+
- if:
78+
properties:
79+
compatible:
80+
const: axis,artpec9-cmu-bus
81+
82+
then:
83+
properties:
84+
clocks:
85+
items:
86+
- description: External reference clock (25 MHz)
87+
- description: CMU_BUS bus clock (from CMU_CMU)
88+
89+
clock-names:
90+
items:
91+
- const: fin_pll
92+
- const: bus
93+
94+
- if:
95+
properties:
96+
compatible:
97+
const: axis,artpec9-cmu-core
98+
99+
then:
100+
properties:
101+
clocks:
102+
items:
103+
- description: External reference clock (25 MHz)
104+
- description: CMU_CORE main clock (from CMU_CMU)
105+
106+
clock-names:
107+
items:
108+
- const: fin_pll
109+
- const: main
110+
111+
- if:
112+
properties:
113+
compatible:
114+
const: axis,artpec9-cmu-cpucl
115+
116+
then:
117+
properties:
118+
clocks:
119+
items:
120+
- description: External reference clock (25 MHz)
121+
- description: CMU_CPUCL switch clock (from CMU_CMU)
122+
123+
clock-names:
124+
items:
125+
- const: fin_pll
126+
- const: switch
127+
128+
- if:
129+
properties:
130+
compatible:
131+
const: axis,artpec9-cmu-fsys0
132+
133+
then:
134+
properties:
135+
clocks:
136+
items:
137+
- description: External reference clock (25 MHz)
138+
- description: CMU_FSYS0 bus clock (from CMU_CMU)
139+
- description: CMU_FSYS0 IP clock (from CMU_CMU)
140+
141+
clock-names:
142+
items:
143+
- const: fin_pll
144+
- const: bus
145+
- const: ip
146+
147+
- if:
148+
properties:
149+
compatible:
150+
const: axis,artpec9-cmu-fsys1
151+
152+
then:
153+
properties:
154+
clocks:
155+
items:
156+
- description: External reference clock (25 MHz)
157+
- description: CMU_FSYS1 scan0 clock (from CMU_CMU)
158+
- description: CMU_FSYS1 scan1 clock (from CMU_CMU)
159+
- description: CMU_FSYS1 bus clock (from CMU_CMU)
160+
161+
clock-names:
162+
items:
163+
- const: fin_pll
164+
- const: scan0
165+
- const: scan1
166+
- const: bus
167+
168+
- if:
169+
properties:
170+
compatible:
171+
const: axis,artpec9-cmu-imem
172+
173+
then:
174+
properties:
175+
clocks:
176+
items:
177+
- description: External reference clock (25 MHz)
178+
- description: CMU_IMEM ACLK clock (from CMU_CMU)
179+
- description: CMU_IMEM CA5 clock (from CMU_CMU)
180+
- description: CMU_IMEM JPEG clock (from CMU_CMU)
181+
- description: CMU_IMEM SSS clock (from CMU_CMU)
182+
183+
clock-names:
184+
items:
185+
- const: fin_pll
186+
- const: aclk
187+
- const: ca5
188+
- const: jpeg
189+
- const: sss
190+
191+
- if:
192+
properties:
193+
compatible:
194+
const: axis,artpec9-cmu-peri
195+
196+
then:
197+
properties:
198+
clocks:
199+
items:
200+
- description: External reference clock (25 MHz)
201+
- description: CMU_PERI IP clock (from CMU_CMU)
202+
- description: CMU_PERI DISP clock (from CMU_CMU)
203+
204+
clock-names:
205+
items:
206+
- const: fin_pll
207+
- const: ip
208+
- const: disp
209+
210+
additionalProperties: false
211+
212+
examples:
213+
# Clock controller node for CMU_FSYS1
214+
- |
215+
#include <dt-bindings/clock/axis,artpec9-clk.h>
216+
217+
soc {
218+
#address-cells = <2>;
219+
#size-cells = <2>;
220+
221+
cmu_fsys1: clock-controller@14c10000 {
222+
compatible = "axis,artpec9-cmu-fsys1";
223+
reg = <0x0 0x14c10000 0x0 0x4000>;
224+
#clock-cells = <1>;
225+
clocks = <&fin_pll>,
226+
<&cmu_cmu CLK_DOUT_CMU_FSYS1_SCAN0>,
227+
<&cmu_cmu CLK_DOUT_CMU_FSYS1_SCAN1>,
228+
<&cmu_cmu CLK_DOUT_CMU_FSYS1_BUS>;
229+
clock-names = "fin_pll", "scan0", "scan1", "bus";
230+
};
231+
};
232+
...

0 commit comments

Comments
 (0)