RE: [PATCH v2 05/17] clk: imx: pll14xx: Add constraint for fvco frequency
From: Peng Fan
Date: Mon May 13 2024 - 08:39:56 EST
> Subject: Re: [PATCH v2 05/17] clk: imx: pll14xx: Add constraint for fvco
> frequency
>
> On 10/05/2024 11.19, Peng Fan (OSS) wrote:
> > From: Shengjiu Wang <shengjiu.wang@xxxxxxx>
> >
> > The fvco frequency range is between 1600MHz and 3200MHz, without this
> > constraint the fvco may out of range, the real output frequency is no
> > accurate.
>
> Could you please point everybody in the direction of where that requirement
> is stated?
VCO has a range, we need update reference manual.
Regards,
Peng.
The imx8mp reference manual, for example, merely lists constraints
> for p, m, s and k.
>
>
> >
> > /* First try if we can get the desired rate from one of the static
> > entries */ @@ -193,6 +195,10 @@ static void
> imx_pll14xx_calc_settings(struct clk_pll14xx *pll, unsigned long rat
> > kdiv = pll1443x_calc_kdiv(mdiv, pdiv, sdiv, rate,
> prate);
> > fout = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv,
> prate);
> >
> > + fvco = fout << sdiv;
> > +
> > + if (fvco < 1600000000 || fvco > 3200000000)
> > + continue;
>
> If this is really a necessary constraint, it seems that one could just up-front
> compute the only possible value of s, or at least change the logic so that one
> loops over a smaller range of possible values of s.
>
> Rasmus