[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <75a1935a-b6c1-4339-8b4d-12af9ead51e6@oss.qualcomm.com>
Date: Wed, 23 Jul 2025 15:09:29 +0200
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Varadarajan Narayanan <quic_varada@...cinc.com>, andersson@...nel.org,
mturquette@...libre.com, sboyd@...nel.org, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, konradybcio@...nel.org,
rafael@...nel.org, viresh.kumar@...aro.org, ilia.lin@...nel.org,
djakov@...nel.org, quic_srichara@...cinc.com, quic_mdalam@...cinc.com,
linux-arm-msm@...r.kernel.org, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: Re: [PATCH v2 2/4] clk: qcom: apss-ipq5424: Add ipq5424 apss clock
controller
On 7/23/25 1:08 PM, Varadarajan Narayanan wrote:
> From: Sricharan Ramabadhran <quic_srichara@...cinc.com>
>
> CPU on Qualcomm ipq5424 is clocked by huayra PLL with RCG support.
> Add support for the APSS PLL, RCG and clock enable for ipq5424.
> The PLL, RCG register space are clubbed. Hence adding new APSS driver
> for both PLL and RCG/CBC control. Also the L3 cache has a separate pll
> and needs to be scaled along with the CPU and is modeled as an ICC clock.
>
> Co-developed-by: Md Sadre Alam <quic_mdalam@...cinc.com>
> Signed-off-by: Md Sadre Alam <quic_mdalam@...cinc.com>
> Signed-off-by: Sricharan Ramabadhran <quic_srichara@...cinc.com>
> [ Removed clock notifier, moved L3 pll to icc-clk, used existing
> alpha pll structure ]
> Signed-off-by: Varadarajan Narayanan <quic_varada@...cinc.com>
> ---
> v2: Model L3 pll as ICC clock and add relevant structures
> Use CLK_ALPHA_PLL_TYPE_HUAYRA_2290 register offsets instead
> of duplicate ipq5424_pll_offsets definition.
> Inline clock rates.
> Fix MODULE_LICENSE
> ---
[...]
Since the last time this was posted, we got some additional infra code..
> +static int apss_ipq5424_probe(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> + struct regmap *regmap;
> + void __iomem *base;
> + int ret;
> +
> + base = devm_platform_ioremap_resource(pdev, 0);
> + if (IS_ERR(base))
> + return PTR_ERR(base);
> +
> + regmap = devm_regmap_init_mmio(dev, base, &apss_ipq5424_regmap_config);
> + if (!regmap)
> + return PTR_ERR(regmap);
> +
> + clk_alpha_pll_configure(&ipq5424_l3_pll, regmap, &l3_pll_config);
> +
> + clk_alpha_pll_configure(&ipq5424_apss_pll, regmap, &apss_pll_config);
> +
> + ret = qcom_cc_really_probe(dev, &apss_ipq5424_desc, regmap);
> + if (!ret)
> + dev_dbg(&pdev->dev, "Registered APSS & L3 clock provider\n");
> +
> + return ret;
You can now replace the entirety of this function with qcom_cc_driver_data
Konrad
Powered by blists - more mailing lists