Skip to content

Commit 3a57530

Browse files
committed
Merge branches 'clk-selectable', 'clk-amlogic', 'clk-renesas', 'clk-samsung' and 'clk-allwinner' into clk-next
- Allow the COMMON_CLK config to be selectable * clk-selectable: clk: Move HAVE_CLK config out of architecture layer MIPS: Loongson64: Drop asm/clock.h include ARM: mmp: Remove legacy clk code clk: Allow the common clk framework to be selectable mmc: meson-mx-sdio: Depend on OF_ADDRESS and not just OF MIPS: Remove redundant CLKDEV_LOOKUP selects h8300: Remove redundant CLKDEV_LOOKUP selects arm64: tegra: Remove redundant CLKDEV_LOOKUP selects ARM: Remove redundant CLKDEV_LOOKUP selects ARM: Remove redundant COMMON_CLK selects * clk-amlogic: clk: meson: meson8b: Don't rely on u-boot to init all GP_PLL registers clk: meson: meson8b: Make the CCF use the glitch-free VPU mux clk: meson: meson8b: Fix the vclk_div{1, 2, 4, 6, 12}_en gate bits clk: meson: meson8b: Fix the polarity of the RESET_N lines clk: meson: meson8b: Fix the first parent of vid_pll_in_sel clk: meson: g12a: Prepare the GPU clock tree to change at runtime clk: meson: gxbb: Prepare the GPU clock tree to change at runtime clk: meson: meson8b: make the hdmi_sys clock tree mutable clk: meson8b: export the HDMI system clock * clk-renesas: dt-bindings: clock: renesas: mstp: Convert to json-schema dt-bindings: clock: renesas: div6: Convert to json-schema clk: renesas: cpg-mssr: Fix STBCR suspend/resume handling clk: renesas: rcar-gen2: Remove superfluous CLK_RENESAS_DIV6 selects clk: renesas: cpg-mssr: Add R8A7742 support dt-bindings: clock: renesas: cpg-mssr: Document r8a7742 binding clk: renesas: Add r8a7742 CPG Core Clock Definitions dt-bindings: power: rcar-sysc: Add r8a7742 power domain index macros MAINTAINERS: Add DT Bindings for Renesas Clock Generators clk: renesas: r9a06g032: Fix some typo in comments dt-bindings: clock: renesas: rcar-usb2-clock-sel: Add r8a77961 support * clk-samsung: clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1 ARM/SAMSUNG EXYNOS ARM ARCHITECTURES: Use fallthrough; clk: samsung: Fix CLK_SMMU_FIMCL3 clock name on Exynos542x clk: samsung: Mark top ISP and CAM clocks on Exynos542x as critical * clk-allwinner: clk: sunxi: Fix incorrect usage of round_down()
5 parents bc8c945 + 07fbf0e + 571a6b4 + fe95d2e + 33b52f7 commit 3a57530

25 files changed

+663
-185
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/renesas,cpg-div6-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas CPG DIV6 Clock
8+
9+
maintainers:
10+
- Geert Uytterhoeven <[email protected]>
11+
12+
description:
13+
The CPG DIV6 clocks are variable factor clocks provided by the Clock Pulse
14+
Generator (CPG). Their clock input is divided by a configurable factor from 1
15+
to 64.
16+
17+
properties:
18+
compatible:
19+
items:
20+
- enum:
21+
- renesas,r8a73a4-div6-clock # R-Mobile APE6
22+
- renesas,r8a7740-div6-clock # R-Mobile A1
23+
- renesas,sh73a0-div6-clock # SH-Mobile AG5
24+
- const: renesas,cpg-div6-clock
25+
26+
reg:
27+
maxItems: 1
28+
29+
clocks:
30+
oneOf:
31+
- maxItems: 1
32+
- maxItems: 4
33+
- maxItems: 8
34+
description:
35+
For clocks with multiple parents, invalid settings must be specified as
36+
"<0>".
37+
38+
'#clock-cells':
39+
const: 0
40+
41+
clock-output-names: true
42+
43+
required:
44+
- compatible
45+
- reg
46+
- clocks
47+
- '#clock-cells'
48+
49+
additionalProperties: false
50+
51+
examples:
52+
- |
53+
#include <dt-bindings/clock/r8a73a4-clock.h>
54+
sdhi2_clk: sdhi2_clk@e615007c {
55+
compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
56+
reg = <0xe615007c 4>;
57+
clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>,
58+
<&extal2_clk>;
59+
#clock-cells = <0>;
60+
};

Documentation/devicetree/bindings/clock/renesas,cpg-div6-clocks.txt

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

Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
compatible:
2626
enum:
2727
- renesas,r7s9210-cpg-mssr # RZ/A2
28+
- renesas,r8a7742-cpg-mssr # RZ/G1H
2829
- renesas,r8a7743-cpg-mssr # RZ/G1M
2930
- renesas,r8a7744-cpg-mssr # RZ/G1N
3031
- renesas,r8a7745-cpg-mssr # RZ/G1E

Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/renesas,cpg-mstp-clocks.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks
8+
9+
maintainers:
10+
- Geert Uytterhoeven <[email protected]>
11+
12+
description:
13+
The Clock Pulse Generator (CPG) can gate SoC device clocks. The gates are
14+
organized in groups of up to 32 gates.
15+
16+
This device tree binding describes a single 32 gate clocks group per node.
17+
Clocks are referenced by user nodes by the Module Stop (MSTP) node phandle
18+
and the clock index in the group, from 0 to 31.
19+
20+
properties:
21+
compatible:
22+
items:
23+
- enum:
24+
- renesas,r7s72100-mstp-clocks # RZ/A1
25+
- renesas,r8a73a4-mstp-clocks # R-Mobile APE6
26+
- renesas,r8a7740-mstp-clocks # R-Mobile A1
27+
- renesas,r8a7778-mstp-clocks # R-Car M1
28+
- renesas,r8a7779-mstp-clocks # R-Car H1
29+
- renesas,sh73a0-mstp-clocks # SH-Mobile AG5
30+
- const: renesas,cpg-mstp-clocks
31+
32+
reg:
33+
minItems: 1
34+
items:
35+
- description: Module Stop Control Register (MSTPCR)
36+
- description: Module Stop Status Register (MSTPSR)
37+
38+
clocks:
39+
minItems: 1
40+
maxItems: 32
41+
42+
'#clock-cells':
43+
const: 1
44+
45+
clock-indices:
46+
minItems: 1
47+
maxItems: 32
48+
49+
clock-output-names:
50+
minItems: 1
51+
maxItems: 32
52+
53+
required:
54+
- compatible
55+
- reg
56+
- clocks
57+
- '#clock-cells'
58+
- clock-indices
59+
- clock-output-names
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/clock/r8a73a4-clock.h>
66+
mstp2_clks: mstp2_clks@e6150138 {
67+
compatible = "renesas,r8a73a4-mstp-clocks",
68+
"renesas,cpg-mstp-clocks";
69+
reg = <0xe6150138 4>, <0xe6150040 4>;
70+
clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
71+
<&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
72+
#clock-cells = <1>;
73+
clock-indices = <
74+
R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
75+
R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
76+
R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
77+
R8A73A4_CLK_DMAC
78+
>;
79+
clock-output-names =
80+
"scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifb3",
81+
"dmac";
82+
};

Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ Required properties:
2727
- compatible: "renesas,r8a7795-rcar-usb2-clock-sel" if the device is a part of
2828
an R8A7795 SoC.
2929
"renesas,r8a7796-rcar-usb2-clock-sel" if the device if a part of
30-
an R8A7796 SoC.
30+
an R8A77960 SoC.
31+
"renesas,r8a77961-rcar-usb2-clock-sel" if the device if a part of
32+
an R8A77961 SoC.
3133
"renesas,rcar-gen3-usb2-clock-sel" for a generic R-Car Gen3
3234
compatible device.
3335

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14334,6 +14334,7 @@ M: Geert Uytterhoeven <[email protected]>
1433414334
1433514335
S: Supported
1433614336
T: git git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git clk-renesas
14337+
F: Documentation/devicetree/bindings/clock/renesas,*
1433714338
F: drivers/clk/renesas/
1433814339

1433914340
RENESAS EMEV2 I2C DRIVER

drivers/clk/meson/g12a.c

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3702,7 +3702,9 @@ static struct clk_regmap g12a_hdmi = {
37023702

37033703
/*
37043704
* The MALI IP is clocked by two identical clocks (mali_0 and mali_1)
3705-
* muxed by a glitch-free switch.
3705+
* muxed by a glitch-free switch. The CCF can manage this glitch-free
3706+
* mux because it does top-to-bottom updates the each clock tree and
3707+
* switches to the "inactive" one when CLK_SET_RATE_GATE is set.
37063708
*/
37073709
static const struct clk_parent_data g12a_mali_0_1_parent_data[] = {
37083710
{ .fw_name = "xtal", },
@@ -3726,7 +3728,13 @@ static struct clk_regmap g12a_mali_0_sel = {
37263728
.ops = &clk_regmap_mux_ops,
37273729
.parent_data = g12a_mali_0_1_parent_data,
37283730
.num_parents = 8,
3729-
.flags = CLK_SET_RATE_NO_REPARENT,
3731+
/*
3732+
* Don't request the parent to change the rate because
3733+
* all GPU frequencies can be derived from the fclk_*
3734+
* clocks and one special GP0_PLL setting. This is
3735+
* important because we need the MPLL clocks for audio.
3736+
*/
3737+
.flags = 0,
37303738
},
37313739
};
37323740

@@ -3743,7 +3751,7 @@ static struct clk_regmap g12a_mali_0_div = {
37433751
&g12a_mali_0_sel.hw
37443752
},
37453753
.num_parents = 1,
3746-
.flags = CLK_SET_RATE_NO_REPARENT,
3754+
.flags = CLK_SET_RATE_PARENT,
37473755
},
37483756
};
37493757

@@ -3759,7 +3767,7 @@ static struct clk_regmap g12a_mali_0 = {
37593767
&g12a_mali_0_div.hw
37603768
},
37613769
.num_parents = 1,
3762-
.flags = CLK_SET_RATE_PARENT,
3770+
.flags = CLK_SET_RATE_GATE | CLK_SET_RATE_PARENT,
37633771
},
37643772
};
37653773

@@ -3774,7 +3782,13 @@ static struct clk_regmap g12a_mali_1_sel = {
37743782
.ops = &clk_regmap_mux_ops,
37753783
.parent_data = g12a_mali_0_1_parent_data,
37763784
.num_parents = 8,
3777-
.flags = CLK_SET_RATE_NO_REPARENT,
3785+
/*
3786+
* Don't request the parent to change the rate because
3787+
* all GPU frequencies can be derived from the fclk_*
3788+
* clocks and one special GP0_PLL setting. This is
3789+
* important because we need the MPLL clocks for audio.
3790+
*/
3791+
.flags = 0,
37783792
},
37793793
};
37803794

@@ -3791,7 +3805,7 @@ static struct clk_regmap g12a_mali_1_div = {
37913805
&g12a_mali_1_sel.hw
37923806
},
37933807
.num_parents = 1,
3794-
.flags = CLK_SET_RATE_NO_REPARENT,
3808+
.flags = CLK_SET_RATE_PARENT,
37953809
},
37963810
};
37973811

@@ -3807,7 +3821,7 @@ static struct clk_regmap g12a_mali_1 = {
38073821
&g12a_mali_1_div.hw
38083822
},
38093823
.num_parents = 1,
3810-
.flags = CLK_SET_RATE_PARENT,
3824+
.flags = CLK_SET_RATE_GATE | CLK_SET_RATE_PARENT,
38113825
},
38123826
};
38133827

@@ -3827,7 +3841,7 @@ static struct clk_regmap g12a_mali = {
38273841
.ops = &clk_regmap_mux_ops,
38283842
.parent_hws = g12a_mali_parent_hws,
38293843
.num_parents = 2,
3830-
.flags = CLK_SET_RATE_NO_REPARENT,
3844+
.flags = CLK_SET_RATE_PARENT,
38313845
},
38323846
};
38333847

0 commit comments

Comments
 (0)