[PATCH v2 06/17] clk: imx: pll14xx: use rate_table for audio plls

Rasmus Villemoes rasmus.villemoes at prevas.dk
Mon May 13 04:49:10 PDT 2024


On 10/05/2024 11.19, Peng Fan (OSS) wrote:
> From: Shengjiu Wang <shengjiu.wang at nxp.com>
> 
> The generated clock frequency may not accurate, for example
> the expected rate is 361267200U, but result is 361267199U.
> Add rate_table for audio clocks to avoid such issue.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>
> Reviewed-by: Jacky Bai <ping.bai at nxp.com>
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
>  drivers/clk/imx/clk-pll14xx.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c
> index 55812bfb9ec2..6b2c849f8b71 100644
> --- a/drivers/clk/imx/clk-pll14xx.c
> +++ b/drivers/clk/imx/clk-pll14xx.c
> @@ -64,6 +64,17 @@ static const struct imx_pll14xx_rate_table imx_pll1443x_tbl[] = {
>  	PLL_1443X_RATE(650000000U, 325, 3, 2, 0),
>  	PLL_1443X_RATE(594000000U, 198, 2, 2, 0),
>  	PLL_1443X_RATE(519750000U, 173, 2, 2, 16384),
> +	PLL_1443X_RATE(393216000U, 262, 2, 3, 9437),
> +	PLL_1443X_RATE(361267200U, 361, 3, 3, 17511),

Sorry, what? This reintroduces the two entries that were removed in
72d00e560d10, claiming that this produces an exact output, whereas that
commit very clearly states (and it's easy to do the math and verify)
that those entries actually resulted in output values of 393215995 and
361267196. So even if the dynamic computation would result in 361267199
(it doesn't, it gives an exact output), that would still be better than
what these hard-coded entries achieve.

Rasmus




More information about the linux-arm-kernel mailing list