Lines Matching +full:clkdiv +full:- +full:-
29 #include <mach/regs-clock.h>
33 #include <plat/cpu-freq-core.h>
49 fclk = cfg->freq.fclk; in s3c2412_cpufreq_calcdivs()
50 armclk = cfg->freq.armclk; in s3c2412_cpufreq_calcdivs()
51 hclk_max = cfg->max.hclk; in s3c2412_cpufreq_calcdivs()
62 __func__, cfg->freq.fclk, cfg->freq.armclk, in s3c2412_cpufreq_calcdivs()
63 cfg->freq.hclk, cfg->freq.pclk); in s3c2412_cpufreq_calcdivs()
72 cfg->divs.arm_divisor = armdiv; in s3c2412_cpufreq_calcdivs()
79 cfg->freq.hclk = hclk = armdiv_clk / hdiv; in s3c2412_cpufreq_calcdivs()
82 cfg->divs.dvs = dvs = armclk < armdiv_clk; in s3c2412_cpufreq_calcdivs()
85 cfg->freq.armclk = dvs ? hclk : armdiv_clk; in s3c2412_cpufreq_calcdivs()
88 __func__, armclk, hclk, armdiv, hdiv, cfg->divs.dvs); in s3c2412_cpufreq_calcdivs()
93 pdiv = (hclk > cfg->max.pclk) ? 2 : 1; in s3c2412_cpufreq_calcdivs()
95 if ((hclk / pdiv) > cfg->max.pclk) in s3c2412_cpufreq_calcdivs()
98 cfg->freq.pclk = hclk / pdiv; in s3c2412_cpufreq_calcdivs()
109 cfg->divs.h_divisor = hdiv * armdiv; in s3c2412_cpufreq_calcdivs()
110 cfg->divs.p_divisor = pdiv * armdiv; in s3c2412_cpufreq_calcdivs()
115 return -EINVAL; in s3c2412_cpufreq_calcdivs()
120 unsigned long clkdiv; in s3c2412_cpufreq_setdivs() local
123 olddiv = clkdiv = __raw_readl(S3C2410_CLKDIVN); in s3c2412_cpufreq_setdivs()
127 clkdiv &= ~S3C2412_CLKDIVN_ARMDIVN; in s3c2412_cpufreq_setdivs()
128 clkdiv &= ~S3C2412_CLKDIVN_HDIVN_MASK; in s3c2412_cpufreq_setdivs()
129 clkdiv &= ~S3C2412_CLKDIVN_PDIVN; in s3c2412_cpufreq_setdivs()
131 if (cfg->divs.arm_divisor == 2) in s3c2412_cpufreq_setdivs()
132 clkdiv |= S3C2412_CLKDIVN_ARMDIVN; in s3c2412_cpufreq_setdivs()
134 clkdiv |= ((cfg->divs.h_divisor / cfg->divs.arm_divisor) - 1); in s3c2412_cpufreq_setdivs()
136 if (cfg->divs.p_divisor != cfg->divs.h_divisor) in s3c2412_cpufreq_setdivs()
137 clkdiv |= S3C2412_CLKDIVN_PDIVN; in s3c2412_cpufreq_setdivs()
139 s3c_freq_dbg("%s: div %08lx => %08lx\n", __func__, olddiv, clkdiv); in s3c2412_cpufreq_setdivs()
140 __raw_writel(clkdiv, S3C2410_CLKDIVN); in s3c2412_cpufreq_setdivs()
142 clk_set_parent(armclk, cfg->divs.dvs ? hclk : fclk); in s3c2412_cpufreq_setdivs()
147 struct s3c_cpufreq_board *board = cfg->board; in s3c2412_cpufreq_setrefresh()
151 board->refresh, cfg->freq.hclk); in s3c2412_cpufreq_setrefresh()
158 refresh = (board->refresh / 10); in s3c2412_cpufreq_setrefresh()
159 refresh *= (cfg->freq.hclk / 100); in s3c2412_cpufreq_setrefresh()
203 return -ENOENT; in s3c2412_cpufreq_add()
242 return -ENOENT; in s3c2412_cpufreq_add()