Skip to content

Commit 37eceb6

Browse files
committed
Merge tag 'samsung-clk-6.1' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into clk-samsung
Pull Samsung clk driverd updates from Krzysztof Kozlowski: - Exynos7885: add FSYS, TREX and MFC clock controllers. - Exynos850: add IS and AUD (audio) clock controllers with bindings. - ExynosAutov9: add FSYS clock controllers with bindings. - ExynosAutov9: correct clock IDs in bindings of Peric 0 and 1 clock controllers, due to duplicated entries. This is an acceptable ABI break: recently developed/added platform so without legacies, acked by known users/developers. - ExynosAutov9: add few missing Peric 0/1 gates. - ExynosAutov9: correct register offsets of few Peric 0/1 clocks. - Minor code improvements (use of_device_get_match_data() helper, code style). - Add Krzysztof Kozlowski as co-maintainer of Samsung SoC clocks, as he already maintainers that architecture/platform. * tag 'samsung-clk-6.1' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: clk: samsung: MAINTAINERS: add Krzysztof Kozlowski clk: samsung: exynos850: Implement CMU_MFCMSCL domain clk: samsung: exynos850: Implement CMU_IS domain clk: samsung: exynos850: Implement CMU_AUD domain clk: samsung: exynos850: Style fixes clk: samsung: exynosautov9: add fsys1 clock support clk: samsung: exynosautov9: add fsys0 clock support clk: samsung: exynosautov9: correct register offsets of peric0/c1 clk: samsung: exynosautov9: add missing gate clks for peric0/c1 dt-bindings: clock: exynos850: Add Exynos850 CMU_MFCMSCL dt-bindings: clock: exynos850: Add Exynos850 CMU_IS dt-bindings: clock: exynos850: Add Exynos850 CMU_AUD dt-bindings: clock: exynosautov9: add schema for cmu_fsys0/1 dt-bindings: clock: exynosautov9: add fsys1 clock definitions dt-bindings: clock: exynosautov9: add fys0 clock definitions clk: samsung: exynos7885: Add TREX clocks clk: samsung: exynos7885: Implement CMU_FSYS domain dt-bindings: clock: exynosautov9: correct clock numbering of peric0/c1 clk: samsung: exynos-clkout: Use of_device_get_match_data()
2 parents 568035b + ef96c45 commit 37eceb6

File tree

9 files changed

+1620
-55
lines changed

9 files changed

+1620
-55
lines changed

Documentation/devicetree/bindings/clock/samsung,exynos850-clock.yaml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,13 @@ properties:
3333
enum:
3434
- samsung,exynos850-cmu-top
3535
- samsung,exynos850-cmu-apm
36+
- samsung,exynos850-cmu-aud
3637
- samsung,exynos850-cmu-cmgp
3738
- samsung,exynos850-cmu-core
3839
- samsung,exynos850-cmu-dpu
3940
- samsung,exynos850-cmu-hsi
41+
- samsung,exynos850-cmu-is
42+
- samsung,exynos850-cmu-mfcmscl
4043
- samsung,exynos850-cmu-peri
4144

4245
clocks:
@@ -88,6 +91,24 @@ allOf:
8891
- const: oscclk
8992
- const: dout_clkcmu_apm_bus
9093

94+
- if:
95+
properties:
96+
compatible:
97+
contains:
98+
const: samsung,exynos850-cmu-aud
99+
100+
then:
101+
properties:
102+
clocks:
103+
items:
104+
- description: External reference clock (26 MHz)
105+
- description: AUD clock (from CMU_TOP)
106+
107+
clock-names:
108+
items:
109+
- const: oscclk
110+
- const: dout_aud
111+
91112
- if:
92113
properties:
93114
compatible:
@@ -172,6 +193,54 @@ allOf:
172193
- const: dout_hsi_mmc_card
173194
- const: dout_hsi_usb20drd
174195

196+
- if:
197+
properties:
198+
compatible:
199+
contains:
200+
const: samsung,exynos850-cmu-is
201+
202+
then:
203+
properties:
204+
clocks:
205+
items:
206+
- description: External reference clock (26 MHz)
207+
- description: CMU_IS bus clock (from CMU_TOP)
208+
- description: Image Texture Processing core clock (from CMU_TOP)
209+
- description: Visual Recognition Accelerator clock (from CMU_TOP)
210+
- description: Geometric Distortion Correction clock (from CMU_TOP)
211+
212+
clock-names:
213+
items:
214+
- const: oscclk
215+
- const: dout_is_bus
216+
- const: dout_is_itp
217+
- const: dout_is_vra
218+
- const: dout_is_gdc
219+
220+
- if:
221+
properties:
222+
compatible:
223+
contains:
224+
const: samsung,exynos850-cmu-mfcmscl
225+
226+
then:
227+
properties:
228+
clocks:
229+
items:
230+
- description: External reference clock (26 MHz)
231+
- description: Multi-Format Codec clock (from CMU_TOP)
232+
- description: Memory to Memory Scaler clock (from CMU_TOP)
233+
- description: Multi-Channel Scaler clock (from CMU_TOP)
234+
- description: JPEG codec clock (from CMU_TOP)
235+
236+
clock-names:
237+
items:
238+
- const: oscclk
239+
- const: dout_mfcmscl_mfc
240+
- const: dout_mfcmscl_m2m
241+
- const: dout_mfcmscl_mcsc
242+
- const: dout_mfcmscl_jpeg
243+
175244
- if:
176245
properties:
177246
compatible:

Documentation/devicetree/bindings/clock/samsung,exynosautov9-clock.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ properties:
3535
- samsung,exynosautov9-cmu-top
3636
- samsung,exynosautov9-cmu-busmc
3737
- samsung,exynosautov9-cmu-core
38+
- samsung,exynosautov9-cmu-fsys0
39+
- samsung,exynosautov9-cmu-fsys1
3840
- samsung,exynosautov9-cmu-fsys2
3941
- samsung,exynosautov9-cmu-peric0
4042
- samsung,exynosautov9-cmu-peric1
@@ -107,6 +109,48 @@ allOf:
107109
- const: oscclk
108110
- const: dout_clkcmu_core_bus
109111

112+
- if:
113+
properties:
114+
compatible:
115+
contains:
116+
const: samsung,exynosautov9-cmu-fsys0
117+
118+
then:
119+
properties:
120+
clocks:
121+
items:
122+
- description: External reference clock (26 MHz)
123+
- description: CMU_FSYS0 bus clock (from CMU_TOP)
124+
- description: CMU_FSYS0 pcie clock (from CMU_TOP)
125+
126+
clock-names:
127+
items:
128+
- const: oscclk
129+
- const: dout_clkcmu_fsys0_bus
130+
- const: dout_clkcmu_fsys0_pcie
131+
132+
- if:
133+
properties:
134+
compatible:
135+
contains:
136+
const: samsung,exynosautov9-cmu-fsys1
137+
138+
then:
139+
properties:
140+
clocks:
141+
items:
142+
- description: External reference clock (26 MHz)
143+
- description: CMU_FSYS1 bus clock (from CMU_TOP)
144+
- description: CMU_FSYS1 mmc card clock (from CMU_TOP)
145+
- description: CMU_FSYS1 usb clock (from CMU_TOP)
146+
147+
clock-names:
148+
items:
149+
- const: oscclk
150+
- const: dout_clkcmu_fsys1_bus
151+
- const: dout_clkcmu_fsys1_mmc_card
152+
- const: dout_clkcmu_fsys1_usbdrd
153+
110154
- if:
111155
properties:
112156
compatible:

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18022,12 +18022,14 @@ Q: https://patchwork.linuxtv.org/project/linux-media/list/
1802218022
F: drivers/media/platform/samsung/exynos4-is/
1802318023

1802418024
SAMSUNG SOC CLOCK DRIVERS
18025+
M: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1802518026
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
1802618027
M: Tomasz Figa <tomasz.figa@gmail.com>
1802718028
M: Chanwoo Choi <cw00.choi@samsung.com>
1802818029
R: Alim Akhtar <alim.akhtar@samsung.com>
1802918030
L: linux-samsung-soc@vger.kernel.org
1803018031
S: Supported
18032+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git
1803118033
T: git git://git.kernel.org/pub/scm/linux/kernel/git/snawrocki/clk.git
1803218034
F: Documentation/devicetree/bindings/clock/samsung,*.yaml
1803318035
F: Documentation/devicetree/bindings/clock/samsung,s3c*

drivers/clk/samsung/clk-exynos-clkout.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,19 +81,17 @@ MODULE_DEVICE_TABLE(of, exynos_clkout_ids);
8181
static int exynos_clkout_match_parent_dev(struct device *dev, u32 *mux_mask)
8282
{
8383
const struct exynos_clkout_variant *variant;
84-
const struct of_device_id *match;
8584

8685
if (!dev->parent) {
8786
dev_err(dev, "not instantiated from MFD\n");
8887
return -EINVAL;
8988
}
9089

91-
match = of_match_device(exynos_clkout_ids, dev->parent);
92-
if (!match) {
90+
variant = of_device_get_match_data(dev->parent);
91+
if (!variant) {
9392
dev_err(dev, "cannot match parent device\n");
9493
return -EINVAL;
9594
}
96-
variant = match->data;
9795

9896
*mux_mask = variant->mux_mask;
9997

0 commit comments

Comments
 (0)