Skip to content

Commit 5de80c3

Browse files
krzkrobherring
authored andcommitted
dt-bindings: clock: samsung: convert Exynos7 to dtschema
Convert Samsung Exynos7 SoC clock controller bindings to DT schema format. Signed-off-by: Krzysztof Kozlowski <[email protected]> Acked-by: Stephen Boyd <[email protected]> Signed-off-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 23652cf commit 5de80c3

File tree

2 files changed

+269
-108
lines changed

2 files changed

+269
-108
lines changed

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

Lines changed: 0 additions & 108 deletions
This file was deleted.
Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/samsung,exynos7-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung Exynos7 SoC clock controller
8+
9+
maintainers:
10+
- Chanwoo Choi <[email protected]>
11+
- Krzysztof Kozlowski <[email protected]>
12+
- Sylwester Nawrocki <[email protected]>
13+
- Tomasz Figa <[email protected]>
14+
15+
description: |
16+
Expected external clocks, defined in DTS as fixed-rate clocks with a matching
17+
name::
18+
- "fin_pll" - PLL input clock from XXTI
19+
20+
All available clocks are defined as preprocessor macros in
21+
include/dt-bindings/clock/exynos7-clk.h header.
22+
23+
properties:
24+
compatible:
25+
enum:
26+
- samsung,exynos7-clock-topc
27+
- samsung,exynos7-clock-top0
28+
- samsung,exynos7-clock-top1
29+
- samsung,exynos7-clock-ccore
30+
- samsung,exynos7-clock-peric0
31+
- samsung,exynos7-clock-peric1
32+
- samsung,exynos7-clock-peris
33+
- samsung,exynos7-clock-fsys0
34+
- samsung,exynos7-clock-fsys1
35+
- samsung,exynos7-clock-mscl
36+
- samsung,exynos7-clock-aud
37+
38+
clocks:
39+
minItems: 1
40+
maxItems: 13
41+
42+
clock-names:
43+
minItems: 1
44+
maxItems: 13
45+
46+
"#clock-cells":
47+
const: 1
48+
49+
reg:
50+
maxItems: 1
51+
52+
required:
53+
- compatible
54+
- "#clock-cells"
55+
- reg
56+
57+
allOf:
58+
- if:
59+
properties:
60+
compatible:
61+
contains:
62+
const: samsung,exynos7-clock-top0
63+
then:
64+
properties:
65+
clocks:
66+
minItems: 6
67+
maxItems: 6
68+
clock-names:
69+
items:
70+
- const: fin_pll
71+
- const: dout_sclk_bus0_pll
72+
- const: dout_sclk_bus1_pll
73+
- const: dout_sclk_cc_pll
74+
- const: dout_sclk_mfc_pll
75+
- const: dout_sclk_aud_pll
76+
required:
77+
- clock-names
78+
- clocks
79+
80+
- if:
81+
properties:
82+
compatible:
83+
contains:
84+
const: samsung,exynos7-clock-top1
85+
then:
86+
properties:
87+
clocks:
88+
minItems: 5
89+
maxItems: 5
90+
clock-names:
91+
items:
92+
- const: fin_pll
93+
- const: dout_sclk_bus0_pll
94+
- const: dout_sclk_bus1_pll
95+
- const: dout_sclk_cc_pll
96+
- const: dout_sclk_mfc_pll
97+
required:
98+
- clock-names
99+
- clocks
100+
101+
- if:
102+
properties:
103+
compatible:
104+
contains:
105+
const: samsung,exynos7-clock-ccore
106+
then:
107+
properties:
108+
clocks:
109+
minItems: 2
110+
maxItems: 2
111+
clock-names:
112+
items:
113+
- const: fin_pll
114+
- const: dout_aclk_ccore_133
115+
required:
116+
- clock-names
117+
- clocks
118+
119+
- if:
120+
properties:
121+
compatible:
122+
contains:
123+
const: samsung,exynos7-clock-peric0
124+
then:
125+
properties:
126+
clocks:
127+
minItems: 3
128+
maxItems: 3
129+
clock-names:
130+
items:
131+
- const: fin_pll
132+
- const: dout_aclk_peric0_66
133+
- const: sclk_uart0
134+
required:
135+
- clock-names
136+
- clocks
137+
138+
- if:
139+
properties:
140+
compatible:
141+
contains:
142+
const: samsung,exynos7-clock-peric1
143+
then:
144+
properties:
145+
clocks:
146+
minItems: 13
147+
maxItems: 13
148+
clock-names:
149+
items:
150+
- const: fin_pll
151+
- const: dout_aclk_peric1_66
152+
- const: sclk_uart1
153+
- const: sclk_uart2
154+
- const: sclk_uart3
155+
- const: sclk_spi0
156+
- const: sclk_spi1
157+
- const: sclk_spi2
158+
- const: sclk_spi3
159+
- const: sclk_spi4
160+
- const: sclk_i2s1
161+
- const: sclk_pcm1
162+
- const: sclk_spdif
163+
required:
164+
- clock-names
165+
- clocks
166+
167+
- if:
168+
properties:
169+
compatible:
170+
contains:
171+
const: samsung,exynos7-clock-peris
172+
then:
173+
properties:
174+
clocks:
175+
minItems: 2
176+
maxItems: 2
177+
clock-names:
178+
items:
179+
- const: fin_pll
180+
- const: dout_aclk_peris_66
181+
required:
182+
- clock-names
183+
- clocks
184+
185+
- if:
186+
properties:
187+
compatible:
188+
contains:
189+
const: samsung,exynos7-clock-fsys0
190+
then:
191+
properties:
192+
clocks:
193+
minItems: 3
194+
maxItems: 3
195+
clock-names:
196+
items:
197+
- const: fin_pll
198+
- const: dout_aclk_fsys0_200
199+
- const: dout_sclk_mmc2
200+
required:
201+
- clock-names
202+
- clocks
203+
204+
- if:
205+
properties:
206+
compatible:
207+
contains:
208+
const: samsung,exynos7-clock-fsys1
209+
then:
210+
properties:
211+
clocks:
212+
minItems: 4
213+
maxItems: 4
214+
clock-names:
215+
items:
216+
- const: fin_pll
217+
- const: dout_aclk_fsys1_200
218+
- const: dout_sclk_mmc0
219+
- const: dout_sclk_mmc1
220+
required:
221+
- clock-names
222+
- clocks
223+
224+
- if:
225+
properties:
226+
compatible:
227+
contains:
228+
const: samsung,exynos7-clock-aud
229+
then:
230+
properties:
231+
clocks:
232+
minItems: 2
233+
maxItems: 2
234+
clock-names:
235+
items:
236+
- const: fin_pll
237+
- const: fout_aud_pll
238+
required:
239+
- clock-names
240+
- clocks
241+
242+
additionalProperties: false
243+
244+
examples:
245+
- |
246+
#include <dt-bindings/clock/exynos7-clk.h>
247+
248+
fin_pll: clock {
249+
compatible = "fixed-clock";
250+
clock-output-names = "fin_pll";
251+
#clock-cells = <0>;
252+
clock-frequency = <24000000>;
253+
};
254+
255+
clock-controller@105e0000 {
256+
compatible = "samsung,exynos7-clock-top1";
257+
reg = <0x105e0000 0xb000>;
258+
#clock-cells = <1>;
259+
clocks = <&fin_pll>,
260+
<&clock_topc DOUT_SCLK_BUS0_PLL>,
261+
<&clock_topc DOUT_SCLK_BUS1_PLL>,
262+
<&clock_topc DOUT_SCLK_CC_PLL>,
263+
<&clock_topc DOUT_SCLK_MFC_PLL>;
264+
clock-names = "fin_pll",
265+
"dout_sclk_bus0_pll",
266+
"dout_sclk_bus1_pll",
267+
"dout_sclk_cc_pll",
268+
"dout_sclk_mfc_pll";
269+
};

0 commit comments

Comments
 (0)