[PATCH V2 5/9] clk: qcom: add Global Clock controller (GCC) driver for IPQ5332 SoC
Stephen Boyd
sboyd at kernel.org
Tue Jan 31 13:09:46 PST 2023
Quoting Kathiravan Thirumoorthy (2023-01-30 03:46:58)
> diff --git a/drivers/clk/qcom/gcc-ipq5332.c b/drivers/clk/qcom/gcc-ipq5332.c
> new file mode 100644
> index 000000000000..a8ce618bb81b
> --- /dev/null
> +++ b/drivers/clk/qcom/gcc-ipq5332.c
> @@ -0,0 +1,3954 @@
[...]
> +
> +static const struct clk_parent_data gcc_parent_data_xo = { .index = DT_XO };
> +
> +static struct clk_alpha_pll gpll0_main = {
[...]
> +};
> +
> +static const struct parent_map gcc_parent_map_3[] = {
> + { P_XO, 0 },
> +};
> +
> +static const struct clk_parent_data gcc_parent_data_3[] = {
Isn't this the same as gcc_parent_data_xo?
> + { .index = DT_XO },
> +};
> +
> +static const struct parent_map gcc_parent_map_4[] = {
> + { P_XO, 0 },
> + { P_GPLL0_OUT_MAIN, 1 },
> + { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 4 },
> + { P_SLEEP_CLK, 6 },
> +};
> +
> +static const struct clk_parent_data gcc_parent_data_4[] = {
> + { .index = DT_XO },
> + { .hw = &gpll0.clkr.hw },
> + { .hw = &gpll0_div2.hw },
[..]
> +
> +static int gcc_ipq5332_probe(struct platform_device *pdev)
> +{
> + struct regmap *regmap;
> +
> + regmap = qcom_cc_map(pdev, &gcc_ipq5332_desc);
> + if (IS_ERR(regmap))
> + return PTR_ERR(regmap);
> +
> + return qcom_cc_really_probe(pdev, &gcc_ipq5332_desc, regmap);
If you don't need to write anything in probe you can simply use
qcom_cc_probe().
More information about the linux-arm-kernel
mailing list