Skip to content

Commit 0d7a660

Browse files
committed
Merge branches 'clk-doc', 'clk-renesas', 'clk-allwinner', 'clk-rockchip' and 'clk-xilinx' into clk-next
- Convert Xilinx VCU clk driver to a proper clk provider driver - Expose Xilinx ZynqMP clk driver to more platforms * clk-doc: linux/clk.h: use correct kernel-doc notation for 2 functions * clk-renesas: (21 commits) clk: renesas: cpg-mssr: Fix formatting issues for 'smstpcr_saved's documentation clk: renesas: r8a779a0: Add RAVB clocks clk: renesas: r8a779a0: Add I2C clocks dt-bindings: clock: renesas: rcar-usb2-clock-sel: Add support for RZ/G2 M/N/H clk: renesas: r8a779a0: Add SYS-DMAC clocks clk: renesas: r8a779a0: Add SDHI support clk: renesas: rcar-gen3: Factor out CPG library clk: renesas: rcar-gen3: Remove cpg_quirks access when registering SD clock clk: renesas: r8a779a0: Add MSIOF clocks clk: renesas: r8a779a0: Add PFC/GPIO clocks clk: renesas: r8a779a0: Fix parent of CBFUSA clock clk: renesas: r8a779a0: Remove non-existent S2 clock clk: renesas: r8a779a0: Add HSCIF support clk: renesas: r8a779a0: Add RWDT clocks clk: renesas: r8a779a0: Add VSPX clock support clk: renesas: r8a779a0: Add VSPD clock support clk: renesas: r8a779a0: Add FCPVD clock support clk: renesas: r8a77995: Add TMU clocks clk: renesas: r8a77990: Add TMU clocks clk: renesas: r8a77965: Add TMU clocks ... * clk-allwinner: clk: sunxi-ng: Add support for the Allwinner H616 CCU clk: sunxi-ng: Add support for the Allwinner H616 R-CCU dt-bindings: clk: sunxi-ccu: Add compatible string for Allwinner H616 clk: sunxi-ng: h6: Fix clock divider range on some clocks clk: sunxi: clk-mod0: Demote non-conformant kernel-doc header clk: sunxi: clk-a10-ve: Demote obvious kernel-doc abuse clk: sunxi: clk-sunxi: Demote a bunch of non-conformant kernel-doc headers clk: sunxi-ng: h6: Fix CEC clock clk: sunxi-ng: h6-r: Add R_APB2_RSB clock and reset * clk-rockchip: clk: rockchip: fix DPHY gate locations on rk3368 clk: rockchip: use clock id for SCLK_VIP_OUT on rk3368 clk: rockchip: add clock id for SCLK_VIP_OUT on rk3368 clk: rockchip: use clock ids for PCLK_DPHYRX and PCLK_DPHYTX0 on rk3368 clk: rockchip: add clock ids for PCLK_DPHYRX and PCLK_DPHYTX0 on rk3368 clk: rockchip: Demote non-conformant kernel-doc header in half-divider clk: rockchip: Demote kernel-doc abuses to standard comment blocks in plls clk: rockchip: Remove unused/undocumented struct members from clk-cpu clk: rockchip: Demote non-conformant kernel-doc headers in main clock code * clk-xilinx: clk: xilinx: move xlnx_vcu clock driver from soc soc: xilinx: vcu: fix alignment to open parenthesis soc: xilinx: vcu: fix repeated word the in comment soc: xilinx: vcu: use bitfields for register definition soc: xilinx: vcu: remove calculation of PLL configuration soc: xilinx: vcu: make the PLL configurable soc: xilinx: vcu: make pll post divider explicit soc: xilinx: vcu: implement clock provider for output clocks soc: xilinx: vcu: register PLL as fixed rate clock soc: xilinx: vcu: implement PLL disable soc: xilinx: vcu: add helpers for configuring PLL soc: xilinx: vcu: add helper to wait for PLL locked soc: xilinx: vcu: drop coreclk from struct xlnx_vcu clk: divider: fix initialization with parent_hw ARM: dts: vcu: define indexes for output clocks clk: axi-clkgen: use devm_platform_ioremap_resource() short-hand dt-bindings: clock: adi,axi-clkgen: add compatible string for ZynqMP support clk: clk-axiclkgen: add ZynqMP PFD and VCO limits clk: axi-clkgen: replace ARCH dependencies with driver deps
5 parents b90f372 + 7907e69 + 6bbea83 + b56e1cc + a2fe7ba commit 0d7a660

Some content is hidden

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

45 files changed

+2703
-954
lines changed

Documentation/devicetree/bindings/clock/adi,axi-clkgen.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ properties:
2020
compatible:
2121
enum:
2222
- adi,axi-clkgen-2.00.a
23+
- adi,zynqmp-axi-clkgen-2.00.a
2324

2425
clocks:
2526
description:

Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ properties:
4141
- allwinner,sun50i-h5-ccu
4242
- allwinner,sun50i-h6-ccu
4343
- allwinner,sun50i-h6-r-ccu
44+
- allwinner,sun50i-h616-ccu
45+
- allwinner,sun50i-h616-r-ccu
4446
- allwinner,suniv-f1c100s-ccu
4547
- nextthing,gr8-ccu
4648

@@ -82,6 +84,7 @@ if:
8284
- allwinner,sun50i-a64-r-ccu
8385
- allwinner,sun50i-a100-r-ccu
8486
- allwinner,sun50i-h6-r-ccu
87+
- allwinner,sun50i-h616-r-ccu
8588

8689
then:
8790
properties:
@@ -100,6 +103,7 @@ else:
100103
enum:
101104
- allwinner,sun50i-a100-ccu
102105
- allwinner,sun50i-h6-ccu
106+
- allwinner,sun50i-h616-ccu
103107

104108
then:
105109
properties:

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ properties:
3535
compatible:
3636
items:
3737
- enum:
38+
- renesas,r8a774a1-rcar-usb2-clock-sel # RZ/G2M
39+
- renesas,r8a774b1-rcar-usb2-clock-sel # RZ/G2N
40+
- renesas,r8a774e1-rcar-usb2-clock-sel # RZ/G2H
3841
- renesas,r8a7795-rcar-usb2-clock-sel # R-Car H3
3942
- renesas,r8a7796-rcar-usb2-clock-sel # R-Car M3-W
4043
- renesas,r8a77961-rcar-usb2-clock-sel # R-Car M3-W+

drivers/clk/Kconfig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,8 @@ config CLK_TWL6040
247247

248248
config COMMON_CLK_AXI_CLKGEN
249249
tristate "AXI clkgen driver"
250-
depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST
250+
depends on HAS_IOMEM || COMPILE_TEST
251+
depends on OF
251252
help
252253
Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
253254
FPGAs. It is commonly used in Analog Devices' reference designs.
@@ -392,6 +393,7 @@ source "drivers/clk/tegra/Kconfig"
392393
source "drivers/clk/ti/Kconfig"
393394
source "drivers/clk/uniphier/Kconfig"
394395
source "drivers/clk/x86/Kconfig"
396+
source "drivers/clk/xilinx/Kconfig"
395397
source "drivers/clk/zynqmp/Kconfig"
396398

397399
endif

drivers/clk/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ obj-y += versatile/
122122
ifeq ($(CONFIG_COMMON_CLK), y)
123123
obj-$(CONFIG_X86) += x86/
124124
endif
125+
obj-y += xilinx/
125126
obj-$(CONFIG_ARCH_ZX) += zte/
126127
obj-$(CONFIG_ARCH_ZYNQ) += zynq/
127128
obj-$(CONFIG_COMMON_CLK_ZYNQMP) += zynqmp/

drivers/clk/clk-axi-clkgen.c

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ static uint32_t axi_clkgen_lookup_lock(unsigned int m)
108108
return 0x1f1f00fa;
109109
}
110110

111+
static const struct axi_clkgen_limits axi_clkgen_zynqmp_default_limits = {
112+
.fpfd_min = 10000,
113+
.fpfd_max = 450000,
114+
.fvco_min = 800000,
115+
.fvco_max = 1600000,
116+
};
117+
111118
static const struct axi_clkgen_limits axi_clkgen_zynq_default_limits = {
112119
.fpfd_min = 10000,
113120
.fpfd_max = 300000,
@@ -503,7 +510,6 @@ static int axi_clkgen_probe(struct platform_device *pdev)
503510
struct clk_init_data init;
504511
const char *parent_names[2];
505512
const char *clk_name;
506-
struct resource *mem;
507513
unsigned int i;
508514
int ret;
509515

@@ -515,8 +521,7 @@ static int axi_clkgen_probe(struct platform_device *pdev)
515521
if (!axi_clkgen)
516522
return -ENOMEM;
517523

518-
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
519-
axi_clkgen->base = devm_ioremap_resource(&pdev->dev, mem);
524+
axi_clkgen->base = devm_platform_ioremap_resource(pdev, 0);
520525
if (IS_ERR(axi_clkgen->base))
521526
return PTR_ERR(axi_clkgen->base);
522527

@@ -560,6 +565,10 @@ static int axi_clkgen_remove(struct platform_device *pdev)
560565
}
561566

562567
static const struct of_device_id axi_clkgen_ids[] = {
568+
{
569+
.compatible = "adi,zynqmp-axi-clkgen-2.00.a",
570+
.data = &axi_clkgen_zynqmp_default_limits,
571+
},
563572
{
564573
.compatible = "adi,axi-clkgen-2.00.a",
565574
.data = &axi_clkgen_zynq_default_limits,

drivers/clk/clk-divider.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,8 +494,13 @@ struct clk_hw *__clk_hw_register_divider(struct device *dev,
494494
else
495495
init.ops = &clk_divider_ops;
496496
init.flags = flags;
497-
init.parent_names = (parent_name ? &parent_name: NULL);
498-
init.num_parents = (parent_name ? 1 : 0);
497+
init.parent_names = parent_name ? &parent_name : NULL;
498+
init.parent_hws = parent_hw ? &parent_hw : NULL;
499+
init.parent_data = parent_data;
500+
if (parent_name || parent_hw || parent_data)
501+
init.num_parents = 1;
502+
else
503+
init.num_parents = 0;
499504

500505
/* struct clk_divider assignments */
501506
div->reg = reg;

drivers/clk/renesas/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ config CLK_R8A77995
148148

149149
config CLK_R8A779A0
150150
bool "R-Car V3U clock support" if COMPILE_TEST
151+
select CLK_RCAR_CPG_LIB
151152
select CLK_RENESAS_CPG_MSSR
152153

153154
config CLK_R9A06G032
@@ -162,12 +163,16 @@ config CLK_SH73A0
162163

163164

164165
# Family
166+
config CLK_RCAR_CPG_LIB
167+
bool "CPG/MSSR library functions" if COMPILE_TEST
168+
165169
config CLK_RCAR_GEN2_CPG
166170
bool "R-Car Gen2 CPG clock support" if COMPILE_TEST
167171
select CLK_RENESAS_CPG_MSSR
168172

169173
config CLK_RCAR_GEN3_CPG
170174
bool "R-Car Gen3 and RZ/G2 CPG clock support" if COMPILE_TEST
175+
select CLK_RCAR_CPG_LIB
171176
select CLK_RENESAS_CPG_MSSR
172177

173178
config CLK_RCAR_USB2_CLOCK_SEL

drivers/clk/renesas/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ obj-$(CONFIG_CLK_R9A06G032) += r9a06g032-clocks.o
3232
obj-$(CONFIG_CLK_SH73A0) += clk-sh73a0.o
3333

3434
# Family
35+
obj-$(CONFIG_CLK_RCAR_CPG_LIB) += rcar-cpg-lib.o
3536
obj-$(CONFIG_CLK_RCAR_GEN2_CPG) += rcar-gen2-cpg.o
3637
obj-$(CONFIG_CLK_RCAR_GEN3_CPG) += rcar-gen3-cpg.o
3738
obj-$(CONFIG_CLK_RCAR_USB2_CLOCK_SEL) += rcar-usb2-clock-sel.o

drivers/clk/renesas/r8a7796-cpg-mssr.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,11 @@ static const struct cpg_core_clk r8a7796_core_clks[] __initconst = {
128128

129129
static struct mssr_mod_clk r8a7796_mod_clks[] __initdata = {
130130
DEF_MOD("fdp1-0", 119, R8A7796_CLK_S0D1),
131+
DEF_MOD("tmu4", 121, R8A7796_CLK_S0D6),
132+
DEF_MOD("tmu3", 122, R8A7796_CLK_S3D2),
133+
DEF_MOD("tmu2", 123, R8A7796_CLK_S3D2),
134+
DEF_MOD("tmu1", 124, R8A7796_CLK_S3D2),
135+
DEF_MOD("tmu0", 125, R8A7796_CLK_CP),
131136
DEF_MOD("scif5", 202, R8A7796_CLK_S3D4),
132137
DEF_MOD("scif4", 203, R8A7796_CLK_S3D4),
133138
DEF_MOD("scif3", 204, R8A7796_CLK_S3D4),

0 commit comments

Comments
 (0)