Lines Matching +full:clock +full:- +full:freq

1 // SPDX-License-Identifier: GPL-2.0-only
22 #include <linux/soc/samsung/s3c-cpufreq-core.h>
23 #include <linux/soc/samsung/s3c-pm.h>
41 /* our clock resources. */
55 fclk = cfg->freq.fclk; in s3c2412_cpufreq_calcdivs()
56 armclk = cfg->freq.armclk; in s3c2412_cpufreq_calcdivs()
57 hclk_max = cfg->max.hclk; in s3c2412_cpufreq_calcdivs()
68 __func__, cfg->freq.fclk, cfg->freq.armclk, in s3c2412_cpufreq_calcdivs()
69 cfg->freq.hclk, cfg->freq.pclk); in s3c2412_cpufreq_calcdivs()
78 cfg->divs.arm_divisor = armdiv; in s3c2412_cpufreq_calcdivs()
85 cfg->freq.hclk = hclk = armdiv_clk / hdiv; in s3c2412_cpufreq_calcdivs()
88 cfg->divs.dvs = dvs = armclk < armdiv_clk; in s3c2412_cpufreq_calcdivs()
91 cfg->freq.armclk = dvs ? hclk : armdiv_clk; in s3c2412_cpufreq_calcdivs()
94 __func__, armclk, hclk, armdiv, hdiv, cfg->divs.dvs); in s3c2412_cpufreq_calcdivs()
99 pdiv = (hclk > cfg->max.pclk) ? 2 : 1; in s3c2412_cpufreq_calcdivs()
101 if ((hclk / pdiv) > cfg->max.pclk) in s3c2412_cpufreq_calcdivs()
104 cfg->freq.pclk = hclk / pdiv; in s3c2412_cpufreq_calcdivs()
115 cfg->divs.h_divisor = hdiv * armdiv; in s3c2412_cpufreq_calcdivs()
116 cfg->divs.p_divisor = pdiv * armdiv; in s3c2412_cpufreq_calcdivs()
121 return -EINVAL; in s3c2412_cpufreq_calcdivs()
131 /* clear off current clock info */ in s3c2412_cpufreq_setdivs()
137 if (cfg->divs.arm_divisor == 2) in s3c2412_cpufreq_setdivs()
140 clkdiv |= ((cfg->divs.h_divisor / cfg->divs.arm_divisor) - 1); in s3c2412_cpufreq_setdivs()
142 if (cfg->divs.p_divisor != cfg->divs.h_divisor) in s3c2412_cpufreq_setdivs()
148 clk_set_parent(armclk, cfg->divs.dvs ? hclk : fclk); in s3c2412_cpufreq_setdivs()
187 pr_err("cannot find hclk clock\n"); in s3c2412_cpufreq_add()
188 return -ENOENT; in s3c2412_cpufreq_add()
193 pr_err("cannot find fclk clock\n"); in s3c2412_cpufreq_add()
208 pr_err("cannot find arm clock\n"); in s3c2412_cpufreq_add()
214 pr_err("cannot find xtal clock\n"); in s3c2412_cpufreq_add()
227 return -ENOENT; in s3c2412_cpufreq_add()