/openbmc/linux/drivers/clk/samsung/ |
H A D | clk-pll.c | 154 u64 fvco = parent_rate; in samsung_pll2126_recalc_rate() local 161 fvco *= (mdiv + 8); in samsung_pll2126_recalc_rate() 162 do_div(fvco, (pdiv + 2) << sdiv); in samsung_pll2126_recalc_rate() 164 return (unsigned long)fvco; in samsung_pll2126_recalc_rate() 187 u64 fvco = parent_rate; in samsung_pll3000_recalc_rate() local 194 fvco *= (2 * (mdiv + 8)); in samsung_pll3000_recalc_rate() 195 do_div(fvco, pdiv << sdiv); in samsung_pll3000_recalc_rate() 197 return (unsigned long)fvco; in samsung_pll3000_recalc_rate() 225 u64 fvco = parent_rate; in samsung_pll35xx_recalc_rate() local 232 fvco *= mdiv; in samsung_pll35xx_recalc_rate() [all …]
|
/openbmc/linux/drivers/clk/imx/ |
H A D | clk-fracn-gppll.c | 75 * Fvco = (Fref / rdiv) * (MFI + MFN / MFD) 76 * Fout = Fvco / odiv 78 * The Fvco should be in range 2.5Ghz to 5Ghz 100 * Fvco = (Fref / rdiv) * MFI 101 * Fout = Fvco / odiv 103 * The Fvco should be in range 2.5Ghz to 5Ghz 157 u64 fvco = parent_rate; in clk_fracn_gppll_recalc_rate() local 204 /* Fvco = (Fref / rdiv) * MFI */ in clk_fracn_gppll_recalc_rate() 205 fvco = fvco * mfi; in clk_fracn_gppll_recalc_rate() 206 do_div(fvco, rdiv * odiv); in clk_fracn_gppll_recalc_rate() [all …]
|
H A D | clk-pll14xx.c | 107 u64 fvco = prate; in pll14xx_calc_rate() local 109 /* fvco = (m * 65536 + k) * Fin / (p * 65536) */ in pll14xx_calc_rate() 110 fvco *= (mdiv * 65536 + kdiv); in pll14xx_calc_rate() 113 do_div(fvco, pdiv << sdiv); in pll14xx_calc_rate() 115 return fvco; in pll14xx_calc_rate() 134 long fvco, rate_min, rate_max, dist, best = LONG_MAX; in imx_pll14xx_calc_settings() local 145 * fvco = (m * 65536 + k) * prate / (p * 65536) in imx_pll14xx_calc_settings() 176 fvco = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate); in imx_pll14xx_calc_settings() 177 t->rate = (unsigned int)fvco; in imx_pll14xx_calc_settings() 193 fvco = pll14xx_calc_rate(pll, mdiv, pdiv, sdiv, kdiv, prate); in imx_pll14xx_calc_settings() [all …]
|
/openbmc/linux/drivers/clk/sprd/ |
H A D | pll.c | 156 u64 tmp, refin, fvco = rate; in _sprd_pll_set_rate() local 174 if (width && ((pll->fflag == 1 && fvco <= pll->fvco) || in _sprd_pll_set_rate() 175 (pll->fflag == 0 && fvco > pll->fvco))) in _sprd_pll_set_rate() 178 if (width && fvco <= pll->fvco) in _sprd_pll_set_rate() 179 fvco = fvco * 2; in _sprd_pll_set_rate() 191 nint = do_div(fvco, refin * CLK_PLL_1M); in _sprd_pll_set_rate() 202 tmp = fvco - refin * nint * CLK_PLL_1M; in _sprd_pll_set_rate() 208 ibias_val = pll_get_ibias(fvco, pll->itable); in _sprd_pll_set_rate()
|
H A D | pll.h | 48 * @fvco: fvco threshold rate 49 * @fflag: fvco flag 59 u64 fvco; member 76 .fvco = _fvco, \
|
/openbmc/u-boot/drivers/clk/exynos/ |
H A D | clk-pll.c | 23 uint64_t fvco = fin_freq; in pll145x_get_rate() local 29 fvco *= mdiv; in pll145x_get_rate() 30 do_div(fvco, (pdiv << sdiv)); in pll145x_get_rate() 31 return (unsigned long)fvco; in pll145x_get_rate()
|
/openbmc/u-boot/drivers/phy/ |
H A D | phy-stm32-usbphyc.c | 66 unsigned long long fvco, ndiv, frac; in stm32_usbphyc_get_pll_params() local 69 * | FVCO = INFF*2*(NDIV + FRACT/2^16 ) when DITHER_DISABLE[1] = 1 in stm32_usbphyc_get_pll_params() 70 * | FVCO = 2880MHz in stm32_usbphyc_get_pll_params() 73 * => PLLNDIV = integer part of (FVCO / (INFF*2)) in stm32_usbphyc_get_pll_params() 74 * => PLLFRACIN = fractional part of(FVCO / INFF*2) * 2^16 in stm32_usbphyc_get_pll_params() 75 * <=> PLLFRACIN = ((FVCO / (INFF*2)) - PLLNDIV) * 2^16 in stm32_usbphyc_get_pll_params() 77 fvco = (unsigned long long)PLL_FVCO * 1000000; /* In Hz */ in stm32_usbphyc_get_pll_params() 79 ndiv = fvco; in stm32_usbphyc_get_pll_params() 83 frac = fvco * (1 << 16); in stm32_usbphyc_get_pll_params()
|
/openbmc/linux/drivers/media/tuners/ |
H A D | fc0011.c | 171 u32 fvco, xin, frac, xdiv, xdivr; in fc0011_set_params() local 190 fvco = freq * 64; in fc0011_set_params() 193 fvco = freq * 32; in fc0011_set_params() 196 fvco = freq * 16; in fc0011_set_params() 199 fvco = freq * 8; in fc0011_set_params() 202 fvco = freq * 4; in fc0011_set_params() 207 xdiv = fvco / 18000; in fc0011_set_params() 209 frac = fvco - xdiv * 18000; in fc0011_set_params() 222 if (fvco - xdiv * 18000 >= 9000) in fc0011_set_params() 260 if (fvco < 2320000) { in fc0011_set_params() [all …]
|
H A D | tda18250.c | 436 unsigned long fvco; in tda18250_pll_calc() local 447 fvco = lopd * scale * ((c->frequency / 1000) + dev->if_frequency); in tda18250_pll_calc() 453 *icp = (fvco < 6622000) ? 0x05 : 0x02; in tda18250_pll_calc() 459 *icp = (fvco < 6622000) ? 0x05 : 0x02; in tda18250_pll_calc() 462 if (fvco < 6643000) { in tda18250_pll_calc() 466 } else if (fvco < 6811000) { in tda18250_pll_calc() 479 *icp = (fvco < 6811000) ? 0x05 : 0x02; in tda18250_pll_calc() 486 "lopd=%d scale=%u fvco=%lu, rdiv=%d ndiv=%d icp=%d", in tda18250_pll_calc() 487 lopd, scale, fvco, *rdiv, *ndiv, *icp); in tda18250_pll_calc()
|
/openbmc/linux/drivers/gpu/drm/sprd/ |
H A D | megacores_pll.c | 44 pll->fvco = pll->potential_fvco; in dphy_calc_pll_param() 50 if (pll->fvco == 0) in dphy_calc_pll_param() 53 if (pll->fvco >= VCO_BAND_LOW && pll->fvco <= VCO_BAND_MID) { in dphy_calc_pll_param() 58 } else if (pll->fvco > VCO_BAND_MID && pll->fvco <= VCO_BAND_HIGH) { in dphy_calc_pll_param() 65 pll->nint = pll->fvco / pll->ref_clk; in dphy_calc_pll_param() 66 tmp = pll->fvco * factor * mhz; in dphy_calc_pll_param()
|
/openbmc/linux/drivers/media/dvb-frontends/ |
H A D | stb6100.c | 301 u32 nint, nfrac, fvco; in stb6100_get_frequency() local 314 fvco = (nfrac * state->reference >> (9 - psd2)) + (nint * state->reference << psd2); in stb6100_get_frequency() 315 *frequency = state->frequency = fvco >> (odiv + 1); in stb6100_get_frequency() 318 "frequency = %u kHz, odiv = %u, psd2 = %u, fxtal = %u kHz, fvco = %u kHz, N(I) = %u, N(F) = %u", in stb6100_get_frequency() 319 state->frequency, odiv, psd2, state->reference, fvco, nint, nfrac); in stb6100_get_frequency() 331 u32 srate = 0, fvco, nint, nfrac; in stb6100_set_frequency() local 384 fvco = frequency << (1 + odiv); in stb6100_set_frequency() 386 nint = fvco / (state->reference << psd2); in stb6100_set_frequency() 388 nfrac = DIV_ROUND_CLOSEST((fvco - (nint * state->reference << psd2)) in stb6100_set_frequency() 434 …"frequency = %u, srate = %u, g = %u, odiv = %u, psd2 = %u, fxtal = %u, osm = %u, fvco = %u, N(I) =… in stb6100_set_frequency() [all …]
|
H A D | stv6111.c | 444 u32 p = 1, psel = 0, fvco, div, frac; in set_lof() local 459 fvco = frequency * p; in set_lof() 460 div = fvco / state->ref_freq; in set_lof() 461 frac = fvco % state->ref_freq; in set_lof() 465 if (fvco < 2700000) in set_lof() 467 else if (fvco < 2950000) in set_lof() 469 else if (fvco < 3300000) in set_lof() 471 else if (fvco < 3700000) in set_lof() 473 else if (fvco < 4200000) in set_lof() 475 else if (fvco < 4800000) in set_lof()
|
/openbmc/u-boot/board/freescale/s32v234evb/ |
H A D | clock.c | 85 u32 i, rfdphi1, rfdphi, dfs_on = 0, fvco; in program_pll() local 90 fvco = in program_pll() 99 if (fvco < PLL_MIN_FREQ || fvco > PLL_MAX_FREQ) { in program_pll() 107 rfdphi = fvco / freq0; in program_pll() 109 rfdphi1 = (freq1 == 0) ? 0 : fvco / freq1; in program_pll()
|
/openbmc/linux/drivers/clk/ |
H A D | clk-xgene.c | 75 unsigned long fvco; in xgene_clk_pll_recalc_rate() local 90 fvco = parent_rate * (N_DIV_RD(pll) + 4); in xgene_clk_pll_recalc_rate() 94 * Fvco = Fref * NFB; in xgene_clk_pll_recalc_rate() 95 * Fout = Fvco / NOUT; in xgene_clk_pll_recalc_rate() 101 fvco = fref * nfb; in xgene_clk_pll_recalc_rate() 105 * fvco = Reference clock * FBDIVC in xgene_clk_pll_recalc_rate() 106 * PLL freq = fvco / NOUT in xgene_clk_pll_recalc_rate() 109 fvco = parent_rate * SC_N_DIV_RD(pll); in xgene_clk_pll_recalc_rate() 112 clk_hw_get_name(hw), fvco / nout, parent_rate, in xgene_clk_pll_recalc_rate() 115 return fvco / nout; in xgene_clk_pll_recalc_rate()
|
H A D | clk-sp7021.c | 139 /* TODO: set proper FVCO range */ 153 unsigned long fvco, nf; in plltv_integer_div() local 160 fvco = freq << r; in plltv_integer_div() 161 if (fvco <= FVCO_MAX) in plltv_integer_div() 167 nf = fvco * m_table[m]; in plltv_integer_div() 220 unsigned long fvco, nf, f, fout = 0; in plltv_fractional_div() local 227 fvco = freq << r; in plltv_fractional_div() 228 if (fvco <= FVCO_MAX) in plltv_fractional_div() 246 nf = fvco * m; in plltv_fractional_div()
|
H A D | clk-axi-clkgen.c | 132 unsigned long f, dout, best_f, fvco; in axi_clkgen_calc_params() local 159 fvco = fin * m / d; in axi_clkgen_calc_params() 161 dout = DIV_ROUND_CLOSEST(fvco, fout); in axi_clkgen_calc_params() 163 f = fvco / dout; in axi_clkgen_calc_params()
|
/openbmc/linux/drivers/phy/st/ |
H A D | phy-stm32-usbphyc.c | 207 unsigned long long fvco, ndiv, frac; in stm32_usbphyc_get_pll_params() local 210 * | FVCO = INFF*2*(NDIV + FRACT/2^16) when DITHER_DISABLE[1] = 1 in stm32_usbphyc_get_pll_params() 211 * | FVCO = 2880MHz in stm32_usbphyc_get_pll_params() 215 * => PLLNDIV = integer part of (FVCO / (INFF*2)) in stm32_usbphyc_get_pll_params() 216 * => PLLFRACIN = fractional part of(FVCO / INFF*2) * 2^16 in stm32_usbphyc_get_pll_params() 217 * <=> PLLFRACIN = ((FVCO / (INFF*2)) - PLLNDIV) * 2^16 in stm32_usbphyc_get_pll_params() 219 fvco = (unsigned long long)PLL_FVCO_MHZ * HZ_PER_MHZ; in stm32_usbphyc_get_pll_params() 221 ndiv = fvco; in stm32_usbphyc_get_pll_params() 225 frac = fvco * (1 << 16); in stm32_usbphyc_get_pll_params()
|
/openbmc/linux/drivers/video/fbdev/matrox/ |
H A D | g450_pll.c | 20 static inline unsigned int g450_vco2f(unsigned char p, unsigned int fvco) { in g450_vco2f() argument 21 return (p & 0x40) ? fvco : fvco >> ((p & 3) + 1); in g450_vco2f() 57 unsigned int *fvco, unsigned int mnp) in g450_nextpll() argument 60 unsigned int tvco = *fvco; in g450_nextpll() 80 *fvco = tvco; in g450_nextpll()
|
H A D | matroxfb_maven.c | 302 unsigned int fvco; in matroxfb_mavenclock() local 305 fvco = matroxfb_PLL_mavenclock(&maven1000_pll, ctl, htotal, vtotal, in, feed, &p, htotal2); in matroxfb_mavenclock() 306 if (!fvco) in matroxfb_mavenclock() 309 if (fvco <= 100000000) in matroxfb_mavenclock() 311 else if (fvco <= 140000000) in matroxfb_mavenclock() 313 else if (fvco <= 180000000) in matroxfb_mavenclock() 323 unsigned int fvco; in DAC1064_calcclock() local 326 fvco = matroxfb_PLL_calcclock(&maven_pll, freq, fmax, in, feed, &p); in DAC1064_calcclock() 328 if (fvco <= 100000) in DAC1064_calcclock() 330 else if (fvco <= 140000) in DAC1064_calcclock() [all …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | nau8540.c | 570 u64 fvco, fvco_max; in nau8540_calc_fll_param() local 603 fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param; in nau8540_calc_fll_param() 604 if (fvco > NAU_FVCO_MIN && fvco < NAU_FVCO_MAX && in nau8540_calc_fll_param() 605 fvco_max < fvco) { in nau8540_calc_fll_param() 606 fvco_max = fvco; in nau8540_calc_fll_param() 617 fvco = div_u64(fvco_max << 16, fref * fll_param->ratio); in nau8540_calc_fll_param() 618 fll_param->fll_int = (fvco >> 16) & 0x3FF; in nau8540_calc_fll_param() 619 fll_param->fll_frac = fvco & 0xFFFF; in nau8540_calc_fll_param()
|
/openbmc/linux/drivers/mmc/host/ |
H A D | sdhci-esdhc-mcf.c | 224 u32 fvco, fsys, fesdhc, temp; in esdhc_mcf_pltfm_set_clock() local 245 * fvco = fsys * outdvi1 + 1 in esdhc_mcf_pltfm_set_clock() 246 * fshdc = fvco / outdiv3 + 1 in esdhc_mcf_pltfm_set_clock() 250 fvco = fsys * ((temp & 0x1f) + 1); in esdhc_mcf_pltfm_set_clock() 251 fesdhc = fvco / (((temp >> 10) & 0x1f) + 1); in esdhc_mcf_pltfm_set_clock()
|
/openbmc/linux/drivers/phy/freescale/ |
H A D | phy-fsl-imx8-mipi-dphy.c | 387 unsigned long fvco; in mixel_dphy_configure_lvds_phy() local 413 * ----- FVCO ------------ --------------- in mixel_dphy_configure_lvds_phy() 418 fvco = data_rate * co; in mixel_dphy_configure_lvds_phy() 420 if (fvco >= MIN_VCO_FREQ) in mixel_dphy_configure_lvds_phy() 424 if (fvco < MIN_VCO_FREQ || fvco > MAX_VCO_FREQ) { in mixel_dphy_configure_lvds_phy() 425 dev_err(&phy->dev, "VCO frequency %lu is out of range\n", fvco); in mixel_dphy_configure_lvds_phy()
|
/openbmc/u-boot/drivers/clk/ |
H A D | clk_stm32mp1.c | 855 * - PLL1 & PLL2 => return VCO / 2 with Fpll_y_ck = FVCO / 2 * (DIVy + 1) 856 * - PLL3 & PLL4 => return VCO with Fpll_y_ck = FVCO / (DIVy + 1) 864 ulong refclk, fvco; in pll_get_fvco() local 879 * Fvco = Fck_ref * ((DIVN + 1) + FRACV / 2^13) / (DIVM + 1) in pll_get_fvco() 881 * Fvco = Fck_ref * ((DIVN + 1) / (DIVM + 1) in pll_get_fvco() 886 fvco = (ulong)lldiv((unsigned long long)refclk * in pll_get_fvco() 890 fvco = (ulong)(refclk * (divn + 1) / (divm + 1)); in pll_get_fvco() 892 debug("PLL%d : %s = %ld\n", pll_id, __func__, fvco); in pll_get_fvco() 894 return fvco; in pll_get_fvco() 1787 ulong fvco; in pll_set_output_rate() local [all …]
|
/openbmc/linux/drivers/gpu/drm/renesas/rcar-du/ |
H A D | rcar_lvds.c | 161 * Fin --> | 1/M | -Fpdf-> | PFD | --> | VCO | -Fvco-> | 1/E | --> Fout in rcar_lvds_d3_e3_pll_calc() 210 * Fvco = Fin * N / M in rcar_lvds_d3_e3_pll_calc() 217 unsigned long fvco; in rcar_lvds_d3_e3_pll_calc() local 226 * Fout = Fvco / E in rcar_lvds_d3_e3_pll_calc() 228 fvco = fpfd * n; in rcar_lvds_d3_e3_pll_calc() 229 e_min = fvco > 1039500000 ? 1 : 0; in rcar_lvds_d3_e3_pll_calc() 241 fout = fvco / (1 << e) / div7; in rcar_lvds_d3_e3_pll_calc()
|
/openbmc/linux/Documentation/devicetree/bindings/clock/ |
H A D | starfive,jh7110-pll.yaml | 15 Fvco = Fref * (NI + NF) / M / Q1
|