Skip to content

Commit 160d7b9

Browse files
committed
Merge branches 'clk-stm', 'clk-cleanup', 'clk-kunit' and 'clk-mediatek' into clk-next
- Add reset support to Airoha EN7581 clk driver - Add module description to mediatek clk drivers * clk-stm: clk: stm32mp25: add security clocks clk: stm32mp2: use of STM32 access controller * clk-cleanup: clk: mxs: Use clamp() in clk_ref_round_rate() and clk_ref_set_rate() clk: lpc32xx: Constify struct regmap_config clk: xilinx: Constify struct regmap_config dt-bindings: clock: sprd,sc9860-clk: convert to YAML dt-bindings: clock: qoriq-clock: convert to yaml format clk: vexpress-osc: add missing MODULE_DESCRIPTION() macro clk: sifive: prci: fix module autoloading dt-bindings: clock: milbeaut: Drop providers and consumers from example clk: sprd: add missing MODULE_DESCRIPTION() macro clk: sophgo: add missing MODULE_DESCRIPTION() macro * clk-kunit: clk: disable clk gate tests for s390 clk: test: add missing MODULE_DESCRIPTION() macros * clk-mediatek: clk: en7523: fix rate divider for slic and spi clocks clk: en7523: Remove PCIe reset open drain configuration for EN7581 clk: en7523: Remove pcie prepare/unpreare callbacks for EN7581 SoC clk: en7523: Add reset-controller support for EN7581 SoC dt-bindings: clock: airoha: Add reset support to EN7581 clock binding dt-bindings: clock: mediatek: Document reset cells for MT8188 sys clk: mediatek: mt8173-infracfg: Handle unallocated infracfg when module dt-bindings: clock: mediatek: add syscon compatible for mt7622 pciesys clk: mediatek: Add a module description where missing
4 parents a542e9d + 12b02b6 + a6c3da0 + 58c53d4 commit 160d7b9

File tree

169 files changed

+1065
-390
lines changed

Some content is hidden

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

169 files changed

+1065
-390
lines changed

Documentation/devicetree/bindings/clock/airoha,en7523-scu.yaml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,18 @@ properties:
3535

3636
reg:
3737
minItems: 2
38-
maxItems: 3
38+
maxItems: 4
3939

4040
"#clock-cells":
4141
description:
4242
The first cell indicates the clock number, see [1] for available
4343
clocks.
4444
const: 1
4545

46+
'#reset-cells':
47+
description: ID of the controller reset line
48+
const: 1
49+
4650
required:
4751
- compatible
4852
- reg
@@ -60,6 +64,8 @@ allOf:
6064
- description: scu base address
6165
- description: misc scu base address
6266

67+
'#reset-cells': false
68+
6369
- if:
6470
properties:
6571
compatible:
@@ -70,6 +76,7 @@ allOf:
7076
items:
7177
- description: scu base address
7278
- description: misc scu base address
79+
- description: reset base address
7380
- description: pb scu base address
7481

7582
additionalProperties: false
@@ -83,3 +90,19 @@ examples:
8390
<0x1fb00000 0x1000>;
8491
#clock-cells = <1>;
8592
};
93+
94+
- |
95+
soc {
96+
#address-cells = <2>;
97+
#size-cells = <2>;
98+
99+
scuclk: clock-controller@1fa20000 {
100+
compatible = "airoha,en7581-scu";
101+
reg = <0x0 0x1fa20000 0x0 0x400>,
102+
<0x0 0x1fb00000 0x0 0x90>,
103+
<0x0 0x1fb00830 0x0 0x8>,
104+
<0x0 0x1fbe3400 0x0 0xfc>;
105+
#clock-cells = <1>;
106+
#reset-cells = <1>;
107+
};
108+
};
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
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,qoriq-clock-legacy.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Legacy Clock Block on Freescale QorIQ Platforms
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description: |
13+
These nodes are deprecated. Kernels should continue to support
14+
device trees with these nodes, but new device trees should not use them.
15+
16+
Most of the bindings are from the common clock binding[1].
17+
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- fsl,qoriq-core-pll-1.0
23+
- fsl,qoriq-core-pll-2.0
24+
- fsl,qoriq-core-mux-1.0
25+
- fsl,qoriq-core-mux-2.0
26+
- fsl,qoriq-sysclk-1.0
27+
- fsl,qoriq-sysclk-2.0
28+
- fsl,qoriq-platform-pll-1.0
29+
- fsl,qoriq-platform-pll-2.0
30+
31+
reg:
32+
maxItems: 1
33+
34+
clocks:
35+
minItems: 1
36+
maxItems: 4
37+
38+
clock-names:
39+
minItems: 1
40+
maxItems: 4
41+
42+
clock-output-names:
43+
minItems: 1
44+
maxItems: 8
45+
46+
'#clock-cells':
47+
minimum: 0
48+
maximum: 1
49+
50+
required:
51+
- compatible
52+
- '#clock-cells'
53+
54+
additionalProperties: false
55+
56+
allOf:
57+
- if:
58+
properties:
59+
compatible:
60+
contains:
61+
enum:
62+
- fsl,qoriq-sysclk-1.0
63+
- fsl,qoriq-sysclk-2.0
64+
then:
65+
properties:
66+
'#clock-cells':
67+
const: 0
68+
69+
- if:
70+
properties:
71+
compatible:
72+
contains:
73+
enum:
74+
- fsl,qoriq-core-pll-1.0
75+
- fsl,qoriq-core-pll-2.0
76+
then:
77+
properties:
78+
'#clock-cells':
79+
const: 1
80+
description: |
81+
* 0 - equal to the PLL frequency
82+
* 1 - equal to the PLL frequency divided by 2
83+
* 2 - equal to the PLL frequency divided by 4
84+
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
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,qoriq-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Clock Block on Freescale QorIQ Platforms
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description: |
13+
Freescale QorIQ chips take primary clocking input from the external
14+
SYSCLK signal. The SYSCLK input (frequency) is multiplied using
15+
multiple phase locked loops (PLL) to create a variety of frequencies
16+
which can then be passed to a variety of internal logic, including
17+
cores and peripheral IP blocks.
18+
Please refer to the Reference Manual for details.
19+
20+
All references to "1.0" and "2.0" refer to the QorIQ chassis version to
21+
which the chip complies.
22+
23+
Chassis Version Example Chips
24+
--------------- -------------
25+
1.0 p4080, p5020, p5040
26+
2.0 t4240
27+
28+
Clock Provider
29+
30+
The clockgen node should act as a clock provider, though in older device
31+
trees the children of the clockgen node are the clock providers.
32+
33+
properties:
34+
compatible:
35+
oneOf:
36+
- items:
37+
- enum:
38+
- fsl,p2041-clockgen
39+
- fsl,p3041-clockgen
40+
- fsl,p4080-clockgen
41+
- fsl,p5020-clockgen
42+
- fsl,p5040-clockgen
43+
- const: fsl,qoriq-clockgen-1.0
44+
- items:
45+
- enum:
46+
- fsl,t1023-clockgen
47+
- fsl,t1024-clockgen
48+
- fsl,t1040-clockgen
49+
- fsl,t1042-clockgen
50+
- fsl,t2080-clockgen
51+
- fsl,t2081-clockgen
52+
- fsl,t4240-clockgen
53+
- const: fsl,qoriq-clockgen-2.0
54+
- items:
55+
- enum:
56+
- fsl,b4420-clockgen
57+
- fsl,b4860-clockgen
58+
- const: fsl,b4-clockgen
59+
- items:
60+
- enum:
61+
- fsl,ls1012a-clockgen
62+
- fsl,ls1021a-clockgen
63+
- fsl,ls1028a-clockgen
64+
- fsl,ls1043a-clockgen
65+
- fsl,ls1046a-clockgen
66+
- fsl,ls1088a-clockgen
67+
- fsl,ls2080a-clockgen
68+
- fsl,lx2160a-clockgen
69+
70+
reg:
71+
maxItems: 1
72+
73+
ranges: true
74+
75+
'#address-cells':
76+
const: 1
77+
78+
'#size-cells':
79+
const: 1
80+
81+
'#clock-cells':
82+
const: 2
83+
description: |
84+
The first cell of the clock specifier is the clock type, and the
85+
second cell is the clock index for the specified type.
86+
87+
Type# Name Index Cell
88+
0 sysclk must be 0
89+
1 cmux index (n in CLKCnCSR)
90+
2 hwaccel index (n in CLKCGnHWACSR)
91+
3 fman 0 for fm1, 1 for fm2
92+
4 platform pll n=pll/(n+1). For example, when n=1,
93+
that means output_freq=PLL_freq/2.
94+
5 coreclk must be 0
95+
96+
clock-frequency:
97+
description: Input system clock frequency (SYSCLK)
98+
99+
clocks:
100+
items:
101+
- description:
102+
sysclk may be provided as an input clock. Either clock-frequency
103+
or clocks must be provided.
104+
- description:
105+
A second input clock, called "coreclk", may be provided if
106+
core PLLs are based on a different input clock from the
107+
platform PLL.
108+
minItems: 1
109+
110+
clock-names:
111+
items:
112+
- const: sysclk
113+
- const: coreclk
114+
115+
patternProperties:
116+
'^mux[0-9]@[a-f0-9]+$':
117+
deprecated: true
118+
$ref: fsl,qoriq-clock-legacy.yaml
119+
120+
'^sysclk(-[a-z0-9]+)?$':
121+
deprecated: true
122+
$ref: fsl,qoriq-clock-legacy.yaml
123+
124+
'^pll[0-9]@[a-f0-9]+$':
125+
deprecated: true
126+
$ref: fsl,qoriq-clock-legacy.yaml
127+
128+
'^platform\-pll@[a-f0-9]+$':
129+
deprecated: true
130+
$ref: fsl,qoriq-clock-legacy.yaml
131+
132+
required:
133+
- compatible
134+
- reg
135+
- '#clock-cells'
136+
137+
additionalProperties: false
138+
139+
examples:
140+
- |
141+
/* clock provider example */
142+
global-utilities@e1000 {
143+
compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0";
144+
reg = <0xe1000 0x1000>;
145+
clock-frequency = <133333333>;
146+
#clock-cells = <2>;
147+
};
148+
149+
- |
150+
/* Legacy example */
151+
global-utilities@e1000 {
152+
compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0";
153+
reg = <0xe1000 0x1000>;
154+
ranges = <0x0 0xe1000 0x1000>;
155+
clock-frequency = <133333333>;
156+
#address-cells = <1>;
157+
#size-cells = <1>;
158+
#clock-cells = <2>;
159+
160+
sysclk: sysclk {
161+
compatible = "fsl,qoriq-sysclk-1.0";
162+
clock-output-names = "sysclk";
163+
#clock-cells = <0>;
164+
};
165+
166+
pll0: pll0@800 {
167+
compatible = "fsl,qoriq-core-pll-1.0";
168+
reg = <0x800 0x4>;
169+
#clock-cells = <1>;
170+
clocks = <&sysclk>;
171+
clock-output-names = "pll0", "pll0-div2";
172+
};
173+
174+
pll1: pll1@820 {
175+
compatible = "fsl,qoriq-core-pll-1.0";
176+
reg = <0x820 0x4>;
177+
#clock-cells = <1>;
178+
clocks = <&sysclk>;
179+
clock-output-names = "pll1", "pll1-div2";
180+
};
181+
182+
mux0: mux0@0 {
183+
compatible = "fsl,qoriq-core-mux-1.0";
184+
reg = <0x0 0x4>;
185+
#clock-cells = <0>;
186+
clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>;
187+
clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
188+
clock-output-names = "cmux0";
189+
};
190+
191+
mux1: mux1@20 {
192+
compatible = "fsl,qoriq-core-mux-1.0";
193+
reg = <0x20 0x4>;
194+
#clock-cells = <0>;
195+
clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>;
196+
clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
197+
clock-output-names = "cmux1";
198+
};
199+
200+
platform-pll@c00 {
201+
#clock-cells = <1>;
202+
reg = <0xc00 0x4>;
203+
compatible = "fsl,qoriq-platform-pll-1.0";
204+
clocks = <&sysclk>;
205+
clock-output-names = "platform-pll", "platform-pll-div2";
206+
};
207+
};

Documentation/devicetree/bindings/clock/mediatek,mt7622-pciesys.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ maintainers:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- mediatek,mt7622-pciesys
19-
- mediatek,mt7629-pciesys
17+
oneOf:
18+
- items:
19+
- const: mediatek,mt7622-pciesys
20+
- const: syscon
21+
- const: mediatek,mt7629-pciesys
2022

2123
reg:
2224
maxItems: 1
@@ -38,7 +40,7 @@ additionalProperties: false
3840
examples:
3941
- |
4042
clock-controller@1a100800 {
41-
compatible = "mediatek,mt7622-pciesys";
43+
compatible = "mediatek,mt7622-pciesys", "syscon";
4244
reg = <0x1a100800 0x1000>;
4345
#clock-cells = <1>;
4446
#reset-cells = <1>;

Documentation/devicetree/bindings/clock/mediatek,mt8188-sys-clock.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ properties:
3939
'#clock-cells':
4040
const: 1
4141

42+
'#reset-cells':
43+
const: 1
44+
4245
required:
4346
- compatible
4447
- reg

0 commit comments

Comments
 (0)