hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/clk/x86/clk-lgm.c
....@@ -1,10 +1,12 @@
11 // SPDX-License-Identifier: GPL-2.0
22 /*
3
+ * Copyright (C) 2020-2022 MaxLinear, Inc.
34 * Copyright (C) 2020 Intel Corporation.
4
- * Zhu YiXin <yixin.zhu@intel.com>
5
- * Rahul Tanwar <rahul.tanwar@intel.com>
5
+ * Zhu Yixin <yzhu@maxlinear.com>
6
+ * Rahul Tanwar <rtanwar@maxlinear.com>
67 */
78 #include <linux/clk-provider.h>
9
+#include <linux/mfd/syscon.h>
810 #include <linux/of.h>
911 #include <linux/platform_device.h>
1012 #include <dt-bindings/clock/intel,lgm-clk.h>
....@@ -253,8 +255,8 @@
253255 LGM_FIXED(LGM_CLK_SLIC, "slic", NULL, 0, CGU_IF_CLK1,
254256 8, 2, CLOCK_FLAG_VAL_INIT, 8192000, 2),
255257 LGM_FIXED(LGM_CLK_DOCSIS, "v_docsis", NULL, 0, 0, 0, 0, 0, 16000000, 0),
256
- LGM_DIV(LGM_CLK_DCL, "dcl", "v_ifclk", 0, CGU_PCMCR,
257
- 25, 3, 0, 0, 0, 0, dcl_div),
258
+ LGM_DIV(LGM_CLK_DCL, "dcl", "v_ifclk", CLK_SET_RATE_PARENT, CGU_PCMCR,
259
+ 25, 3, 0, 0, DIV_CLK_NO_MASK, 0, dcl_div),
258260 LGM_MUX(LGM_CLK_PCM, "pcm", pcm_p, 0, CGU_C55_PCMCR,
259261 0, 1, CLK_MUX_ROUND_CLOSEST, 0),
260262 LGM_FIXED_FACTOR(LGM_CLK_DDR_PHY, "ddr_phy", "ddr",
....@@ -433,13 +435,15 @@
433435
434436 ctx->clk_data.num = CLK_NR_CLKS;
435437
436
- ctx->membase = devm_platform_ioremap_resource(pdev, 0);
437
- if (IS_ERR(ctx->membase))
438
+ ctx->membase = syscon_node_to_regmap(np);
439
+ if (IS_ERR(ctx->membase)) {
440
+ dev_err(dev, "Failed to get clk CGU iomem\n");
438441 return PTR_ERR(ctx->membase);
442
+ }
443
+
439444
440445 ctx->np = np;
441446 ctx->dev = dev;
442
- spin_lock_init(&ctx->lock);
443447
444448 ret = lgm_clk_register_plls(ctx, lgm_pll_clks,
445449 ARRAY_SIZE(lgm_pll_clks));